2009-05-21 75 views
1

您好我有一個ajax腳本,用於驗證放入文本框的用戶信息。這在Internet Explorer中工作正常,但是在FireFox中,從列表框中獲取性別時出現錯誤。我已將性別置於隱藏文本框中,以便於處理。我在FF中得到的錯誤是在IE /火狐瀏覽器中的Ajax問題

dd爲空 [打破此錯誤] theindex = dd.options [dd.selectedIndex] .value;

我在javascript函數低於,這被裝載在主體負載或一旦選定改變性別,

功能get_gender()其他 {
{

var dd = document.getElementById("gender_select"); 
    theindex = dd.options[dd.selectedIndex].value; 
    thevalue = dd.options[dd.selectedIndex].text; 
    } 

    document.getElementById("gender_text").value = thevalue;  

} 

一個問題,我有一個div盒子,這在任何其他瀏覽器中都可以正常工作,但IE瀏覽器無法正常工作。一旦出現錯誤,它應該只顯示div框,但在IE中總是顯示div框。

我正在使用這一行來執行此操作: document.getElementById(「username_div」)。style.visibility =「hidden」;

不是粘貼我的代碼直播頁面可以查看在

http://elliottstocks.com/assignment/sign_up/ 忽略登錄框,這工作正常。

任何意見/幫助將不勝感激。非常感謝=)

回答

3

getElementByID要求HTML元素有一個ID,只是名稱不夠好。

<select name="gender_select" id="gender_select" onChange="get_gender()"> 
    <option>Male</option> <option>Female</option> 
</select> 
2

對於零誤差變化:

<select onchange="get_gender()" name="gender_select"> 

<select onchange="get_gender()" name="gender_select" id="gender_select"> 

document.getElementById正在尋找在具有給定id屬性的DOM中的元素。它在IE中工作的原因是因爲它允許通過name屬性進行選擇。

+0

我認爲這將是簡單的東西,謝謝:) – Elliott 2009-05-21 15:09:55

0

對於第二個問題,您可能需要嘗試display ='none';爲你的元素。請注意,此行爲不同於visibility = hidden。

+0

謝謝 但這仍然無法在IE – Elliott 2009-05-22 13:11:52

相關問題