送信ボタンで page1.php から JavaScript 関数を呼び出しています。action 属性で、page2.php にリダイレクトしています。JavaScript の if 条件で、java スクリプト関数でメールがバリデーションされていない場合、コントロールを page1.php にリダイレクトしたい。
2 に答える
0
JavaScript 検証を行うために別の php スクリプトにリダイレクトする必要はありません。JavaScript はクライアント側で実行されると言う必要があります。別のスクリプトにリダイレクトすると、電子メールでフォーム入力フィールドへのアクセスが失われるため、別のスクリプトで再びアクセスするには、それをクライアントにフィードして html に出力する必要があります。
これを行う代わりに、送信ボタンをクリックした後に電子メールを簡単に検証できます。
<script type="text/javascript">
document.getElementById('submitButton').onclick=function(){
if(!validateEmail()){
alert("E-mail is not valid");
return false;
}
}
};
function validateEmail(email) {
var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\
".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA
-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
return re.test(email);
}
</script>
于 2013-08-27T15:32:56.057 に答える