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;
    }
}

それを修正するのは本当に簡単なことかもしれませんが、IEではなくChromeで完全に機能する理由がわかりません. 前もってありがとう、ジェイク。

4

1 に答える 1

1

RegFuncで、次の行を追加してみてください。

pword1 = document.getElementById("pword1");

pword1は定義されていません-これはコンソールに無限に印刷されます-F12はIE9+の友達です

于 2012-11-09T19:14:26.740 に答える