简体   繁体   English

JavaScript无法在Internet Explorer 10上运行

[英]JavaScript won't run on Internet Explorer 10

I have some JavaScript which will do some basic error checking on my registration form (makes sure all fields are filled, passwords match etc.) and the submit button is disabled until the fields are entered correctly. 我有一些JavaScript,可以对我的注册表格进行一些基本的错误检查(确保所有字段均已填写,密码匹配等),并且禁用提交按钮,直到正确输入字段为止。 There is also a div above the form that will display which bits of the form need correcting. 表单上方还有一个div,它将显示表单中的哪些位需要更正。

The code runs fine on Google Chrome, but using IE10 it only seems to run half of the JavaScript. 该代码可以在Google Chrome上正常运行,但是使用IE10似乎只能运行一半的JavaScript。 It prints the error messages for everything apart from the security question's answer, and the submit button stays disabled even when all fields are correct (which are the last 2 parts of the JavaScript function). 它会打印除安全问题的答案以外的所有内容的错误消息,并且即使所有字段正确(这是JavaScript函数的最后2个部分),“提交”按钮也保持禁用状态。

The page can be found here , and the JavaScript function contains this code: 该页面可在此处找到,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;
    }
}

It may be something really simple to fix it, but I don't understand why it works perfectly in Chrome and not IE. 修复它可能很简单,但是我不明白为什么它可以在Chrome(而不是IE)中完美运行。 Thanks in advance, Jake. 预先感谢杰克。

In RegFunc try adding this line: 在RegFunc中,尝试添加以下行:

pword1 = document.getElementById("pword1");

pword1 is not defined - this is printed infinitely on the console - F12 is your friend in IE9+ pword1未定义-在控制台上无限打印-F12是您在IE9 +中的朋友

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM