JavaScript无法在Internet Explorer 10上运行

时间:2012-11-09 19:06:34

标签: javascript html internet-explorer

我有一些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。提前谢谢,杰克。

1 个答案:

答案 0 :(得分:1)

在RegFunc中尝试添加以下行:

pword1 = document.getElementById("pword1");

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