私はHTMLでフォームを作成し、各フィールドごとにonblurイベントを使用しており、非常にうまく動作しています。問題は、データが無効であっても送信される送信ボタン(サーブレットにデータを送信する)をクリックしたときです。ここに例があります。投稿する前にすべてのフォームデータを検証する
<html>
<head>
<script>
function check()
{
if(checkName()==true)
return true;
else{
alert('vhvh');
return false;
}
}
function checkName()
{
var uname=document.enq.Name.value;
var letters = /^[A-Za-z, ]+$/;
if(uname.match(letters))
{
document.getElementById('Name').style.borderColor = "black";
return true;
}
else
{
document.getElementById('Name').style.borderColor = "red";
//alert('Username must have alphabet characters only');
//uname.focus();
return false;
}
}
</script>
</head>
<body>
<form name="enq" method="post" action="Enquiry" onsubmit="check()">
<input class="textbox" id="Name"style="margin-top:10px;font-size:16px;" type="text" name="Name" placeholder="Full Name" onblur="checkName()" required /><br><br>
<input class="button" type="submit">
</form>
</body>
</html>
どうすればこの問題を解決できますか?
ありがとう@Ni。今私は、データが有効かどうかをチェックする関数を作成し、それは非常にうまくいきます。しかし、まだ私はサーブレットにデータを送信することからそれを制限することができます。ここに私の新しいメソッドのコードです。 機能チェック(){ \t IF(checkName()==真&& checkNumber()==真&& ValidateEmail()== TRUE) \t \tアラート( '真'); \t else \t \t alert( 'false'); } –
@ ParvenKumar関数がfalseを返す場合、フォームは送信されません。 –
@ParveenKumar私はより良いサイトへの私の答えのリンクを変更しました –