パスワードとユーザー名の両方が間違っているフォームを送信すると、この問題が発生します。間違った詳細を入力したという警告ボックスが表示されます。しかし、ユーザー名が正しいときにパスワードの検証が間違っていると、誤って返されたときでもフォームを送信してokを押すと、私にアレットボックスが表示されます。 ヘルプはずっとあなたが送信フォームを防ぐためにe.preventDefault()
を使用することができます検証正規表現が間違っていてもフォームを送信する
<script type="text/javascript">
function validate(form_id, firstName, password){
var Reg = /^[A-Za-z0-9_]{1,20}$/;
var Reg1 = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])[0-9a-zA-Z]{8,}$/;
var username = document.forms[form_id].elements[firstName].value;
var password = document.forms[form_id].elements[password].value;
if (Reg.test(username) == false) {
alert('Invalid Username.');
document.forms[form_id].elements[firstName].focus();
return false;
}
if (Reg1.test(password) == false) {
alert('Invalid Password.');
document.forms[form_id].elements[password].focus();
return false;
}
}
</script>
<form id="form_id" action="userlogininput.cgi" onsubmit="javascript:return validate('form_id','firstName','password');" name="form" method="post">
Username : <input type="text" id="firstName" name="firstName" class="textboxH-300" required><br>
Password : <input type="password" id="password" name="password" class="textboxH-300" required><br><br>
<input id="submitbtn" type="submit" value="Submit"/>
</form>
JSコードは、[ここ]正常に動作している(https://jsfiddle.net/my78gLo7/) – rock321987
固定問題 私はちょうどパスワードのための異なった変数を保つ必要があった 私はそれが混乱していたと思う。 ありがとうございました – SAGZROck