2010-05-27 80 views
2

工作正常,我有HTML代码如下所示:单选按钮将无法在Internet Explorer工作,但在Firefox

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

代码不完整。请更新您的问题,以包含来自''的最低** copy'n'paste'n'runnable示例,直至与''重新生成完全问题。用*最小*我的意思是,没有不必要/不相关的类/元素/脚本/等。 – BalusC 2010-05-27 11:29:31

+0

它在IE中如何失效? – Matchu 2010-05-27 11:31:22

+0

单击票单选按钮时没有任何反应。它只停留在EmailActionDescription上,我无法真正把所有的代码放到页面上,因为我正在查看/处理的页面是6个不同的HTML文件,并且链接到很多JavaScript代码,因此您可以真正重现它。我只是看到任何人是否可能有任何想法,我appriciate每一个输入和sugestions。 – 2010-05-27 11:51:05

回答

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

首先,getElementsByName()在IE中被破坏。而是使用getElementsByTagName()和/或getElementById()。或者更好的是,使用jQuery和。

其次,这听起来像是<div name="action_tab">等等。 HTML <div>元素没有指定的name属性,我怀疑自定义name属性在IE中是否会以这种方式与getElementsByName()一起工作。

+0

我使用JQuery,我现在正在工作,谢谢。 – 2010-05-27 14:00:01

1

你并不会因为XHTML属性说明你正在使用的DOCTYPE(如果有的话),但肯定得有值,这您checked属性没有。你可以试试这个:

<input type="radio" checked="checked" name="action_type" value="EmailActionDescription" onclick="toggle_action(this);"/><label>Email</label> 
+0

这个问题不是关于xhtml – prostynick 2010-05-27 11:35:03

+0

@prostynick我知道,我提供了一个建议,为什么它不起作用。 – 2010-05-27 11:36:30

+0

我试过它没有用,谢谢你的建议。 – 2010-05-27 11:51:46

0

既然你没有发布你的toggle_action()代码,我只能猜测问题出在那个函数中。如果该功能失败,可能会取消单选按钮选择例程。

你使用toggle_action()例程是什么?

+0

在描述中添加的函数 – 2010-05-27 13:17:25

相关问题