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';
    }
};
}

一种

<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

您没有说明您正在使用哪个 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 回答
1
var tabs = document.getElementsByName("action_tab")

首先,getElementsByName()在IE中被破坏了。而是使用getElementsByTagName()和/或getElementById(). 或者更好的是,使用jQuery$('[name=action_tab]').

其次,这听起来像<div name="action_tab">等等。HTML<div>元素没有指定的name属性,我怀疑自定义name属性是否会在带有getElementsByName().

于 2010-05-27T13:44:39.917 回答
0

由于您没有发布您的 toggle_action() 代码,我只能猜测问题出在该函数中。并且可能如果函数失败,单选按钮选择例程被取消。

你用 toggle_action() 例程做什么?

于 2010-05-27T12:54:28.430 回答