0

我有一些 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 中完美运行。提前感谢,杰克。

4

1 回答 1

1

在 RegFunc 中尝试添加这一行:

pword1 = document.getElementById("pword1");

pword1 未定义 - 在控制台上无限打印 - F12 是您在 IE9+ 中的朋友

于 2012-11-09T19:14:26.740 回答