0
function confirmValidation() {
    var confirmPass = document.getElementById('newpassword').value;
    var newpass = document.getElementById('newpassword2').value;
    var passLength = confirmPass.length;
    if ((confirmPass == newpass) && (confirmPass != "" && newpass != "") && (passLength > 8)) {
        alert("ok");
        return true;
    } else {
        alert("no");
        confirmPass.focus();
        return false;
    }
}

そして入力:

<input name="register" type="submit" class="alert_button" onclick="return confirmValidation()" value="OK" />
4

3 に答える 3

3

メソッドを機能させるには、タグ自体に属性/リスナーをreturn指定する必要があります。そのようです:onSubmitform

<form method="post" onsubmit="return confirmValidation();">
    <!-- OTHER form fields -->
</form>

w3cドキュメントから:

フォームが送信されるonsubmitとイベントが発生します。FORM 要素にのみ適用されます。


編集

jsfiddle リンクが追加されました。

起動できるように、JavaScript を少し変更する必要があります.focus()

function confirmValidation() {
    var confirmPass = document.getElementById('newpassword');
    var newpass = document.getElementById('newpassword2');
    var passLength = confirmPass.value.length;
    if ((confirmPass.value == newpass.value) && (confirmPass.value != "" && newpass.value != "") && (passLength > 8)) {
        alert("ok");
        return true;
    } else {
        alert("no");
        confirmPass.focus();
        return false;
    }
}
于 2013-03-04T04:59:07.560 に答える
1

検証をフォームに移動します。

document.getElementById('my_form').addEventListener('submit', confirmValidation, false);
于 2013-03-04T04:57:40.067 に答える
0

タグで onsubmit() イベントを使用する必要があります。フォームを送信すると、onsubmit() イベントに記述された関数が呼び出されます。Onsubmit() の場合のみ、戻り値が true の場合はチェックし、それ以外の場合はさらに処理を進めます。

<form method="post" onsubmit="return confirmValidation();">

</form>
于 2013-03-04T05:47:30.273 に答える