我有这样的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个选项之一,票证或电子邮件,当点击它没有显示的票证时。
如果您需要任何进一步的信息,请告诉我。
感谢
答案 0 :(得分:1)
您没有说明您正在使用哪个DOCTYPE(如果有),但当然XHTML属性必须包含您的checked
属性所没有的值。你可以试试这个:
<input type="radio" checked="checked" name="action_type" value="EmailActionDescription" onclick="toggle_action(this);"/><label>Email</label>
答案 1 :(得分:1)
var tabs = document.getElementsByName("action_tab")
首先,getElementsByName()
在IE中被破坏了。而是使用getElementsByTagName()
和/或getElementById()
。或者更好的是,使用jQuery和$('[name=action_tab]')
。
其次,这听起来像<div name="action_tab">
等等。 HTML <div>
元素没有指定的name
属性,我怀疑自定义name
属性是否会在getElementsByName()
的IE中以这种方式工作。
答案 2 :(得分:0)
由于你没有发布你的toggle_action()代码,我只能猜测问题出在那个函数中。并且可能如果函数失败,则取消单选按钮选择例程。
你使用toggle_action()例程做什么?