我有一些 JavaScript 将在我的注册表单上进行一些基本的错误检查(确保所有字段都已填写,密码匹配等),并且在正确输入字段之前,提交按钮被禁用。表单上方还有一个 div,它将显示表单的哪些位需要更正。
该代码在 Google Chrome 上运行良好,但使用 IE10 似乎只运行了一半的 JavaScript。它会打印除安全问题答案之外的所有内容的错误消息,即使所有字段都正确(这是 JavaScript 函数的最后 2 部分),提交按钮也会保持禁用状态。
该页面可在此处找到,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 中完美运行。提前感谢,杰克。