2010-05-27 85 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

相關問題