2012-11-09 33 views
0

我有一些JavaScript將做一些基本的錯誤檢查我的登記表上(確保填寫了所有字段,密碼匹配等),並提交按鈕被禁用,直到字段正確輸入。表單上方還有一個div,用於顯示錶單的哪些位需要更正。的JavaScript將無法在Internet Explorer中運行10

的代碼運行在谷歌瀏覽器很好,但使用IE10似乎只運行一半的JavaScript。除了安全問題的答案之外,它打印所有內容的錯誤消息,即使所有字段都正確(JavaScript函數的最後兩部分),提交按鈕仍然保持禁用狀態。

頁面可以發現here,以及JavaScript函數包含以下代碼:

function timerFunc() { 
    var success = 1; 
    errors.innerHTML = ""; 
    if (fname.value == "") { 
     errors.innerHTML = errors.innerHTML + "<p>Forename Required.</p>"; 
     success = 0; 
    } 
    if (sname.value == "") { 
     errors.innerHTML = errors.innerHTML + "<p>Surname Required.</p>"; 
     success = 0; 
    } 
    if (email.value == "") { 
     errors.innerHTML = errors.innerHTML + "<p>Email Required.</p>"; 
     success = 0; 
    } else { 
     success = verifyEmail(email.value); 
    } 
    if (uname.value == "") { 
     errors.innerHTML = errors.innerHTML + "<p>Username Required.</p>"; 
     success = 0; 
    } 
    if (pword.value == "") { 
     errors.innerHTML = errors.innerHTML + "<p>Password Required.</p>"; 
     success = 0; 
    } else if (pword.value.length < 8) { 
     errors.innerHTML = errors.innerHTML + "<p>Password Must Have 8 Characters.</p>"; 
     success = 0; 
    } 
    if ((pword1.value != "") && (pword1.value != pword.value)) { 
     errors.innerHTML = errors.innerHTML + "<p>Passwords Don't Match.</p>"; 
     success = 0; 
    } 
    if (seca.value == "") { 
     errors.innerHTML = errors.innerHTML + "<p>Security Answer Required.</p>"; 
     success = 0; 
    } 
    if (success == 1) { 
     submit.disabled = false; 
    } else { 
     submit.disabled = true; 
    } 
} 

這可能是很簡單的東西來修復它,但我不明白爲什麼它完美的作品在Chrome和不IE瀏覽器。在此先感謝,傑克。

+1

'errors'在較高的範圍定義了在IE9的朋友嗎?使用F12打開IE的錯誤控制檯。任何錯誤?發佈的代碼在語法上是有效的,但是一些變量可能超出範圍。 –

+0

...和一些您的DOM參考可能被打破。你不顯示它們是如何定義的。 –

+0

確保您通過'document.getElementById'選擇了所有元素,而不依賴於某些瀏覽器創建的非標準全局變量。 – jbabey

回答

1

在RegFunc嘗試加入這一行:

pword1 = document.getElementById("pword1"); 

pword1沒有定義 - 這是無限打印在控制檯上 - F12是+

+0

謝謝塞巴斯蒂安,剛剛看到那個錯誤 - 過了漫長的一天!你知道爲什麼它仍然在沒有聲明的Chrome上運行嗎? – crazyloonybin

+1

我認爲這是一個「標準」,所有具有ID的元素都可以自動作爲全局變量來使用 - 非常煩人......參見這裏:http://stackoverflow.com/questions/6381425/should-the-id-of-elements -be-made-global-variables- – Sebastian

+0

啊有趣的是,有些實現方法,有些則不 - 感謝信息! – crazyloonybin

相關問題