我有一些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瀏覽器。在此先感謝,傑克。
'errors'在較高的範圍定義了在IE9的朋友嗎?使用F12打開IE的錯誤控制檯。任何錯誤?發佈的代碼在語法上是有效的,但是一些變量可能超出範圍。 –
...和一些您的DOM參考可能被打破。你不顯示它們是如何定義的。 –
確保您通過'document.getElementById'選擇了所有元素,而不依賴於某些瀏覽器創建的非標準全局變量。 – jbabey