我有一些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