我有一些JavaScript会对我的注册表单进行一些基本的错误检查(确保填写所有字段,密码匹配等),并且在正确输入字段之前禁用提交按钮。表单上方还有一个div,用于显示表单中哪些位需要更正。
代码在Google Chrome上正常运行,但使用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。提前谢谢,杰克。
答案 0 :(得分:1)
在RegFunc中尝试添加以下行:
pword1 = document.getElementById("pword1");
pword1未定义 - 这是在控制台无限打印 - F12是你在IE9 +中的朋友