2

次のような HTML コードがあります。

function toggle_action(type) {
var tabs = document.getElementsByName("action_tab")
for(var i = 0 ; i < tabs.length; i++){
    //alert(" i = " + i + " length=" + tabs.length );
    if(tabs[i].id == type.value){
        tabs[i].style.display='inline';
    }else{
        tabs[i].style.display='none';
    }
};
}

a

<div id="action_types">
   <input type="radio" checked name="action_type" value="EmailActionDescription"  onclick="toggle_action(this);"/><label>Email</label>
   <input type="radio" name="action_type" value="TicketActionDescription" onclick="toggle_action(this);"/><label>Ticket</label>
</div>

firefox では正常に動作しますが、Internet Explorer では動作しません。

それが何であるかについてのアイデアはありますか?ボタンは基本的に、チケットまたは電子メールの 2 つのオプションのいずれかを表示しますが、チケットをクリックすると表示されません。

さらに情報が必要な場合は、お知らせください。

ありがとう

4

3 に答える 3

1
var tabs = document.getElementsByName("action_tab")

まず、getElementsByName()IEで壊れています。むしろgetElementsByTagName()and/or を使用してgetElementById()ください。または、jQuery$('[name=action_tab]').

第二に、これは as などのように聞こえ<div name="action_tab">ます。HTML<div>要素には指定された属性がありません.nameカスタムname属性がIEでgetElementsByName().

于 2010-05-27T13:44:39.917 に答える
1

どの DOCTYPE を使用しているか (もしあれば) は述べていませんが、確かに XHTML 属性には値が必要ですが、checked属性にはありません。これを試すことができます:

<input type="radio" checked="checked" name="action_type" value="EmailActionDescription"  onclick="toggle_action(this);"/><label>Email</label>
于 2010-05-27T11:32:28.447 に答える
0

あなたは toggle_action() コードを投稿していないので、問題はその関数にあるとしか推測できません。そしておそらく関数が失敗した場合、ラジオボタン選択ルーチンはキャンセルされます。

toggle_action() ルーチンは何に使用しますか?

于 2010-05-27T12:54:28.430 に答える