Я создал форму в 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>
Как решить эту проблему?
thanks @Ni. Теперь я создал функцию, которая проверяет правильность данных или нет, и работает очень хорошо. Но все же, как я могу ограничить его отправкой данных на сервлет. Вот код моего нового метода. функция проверки() { \t если (checkName() == верно && CheckNumber() == верно && ValidateEmail() == TRUE) \t \t оповещения ('истина'); \t else \t \t alert ('false'); } –
@ParveenKumar, если функция возвращает false, форма не будет отправлена. –
@ParveenKumar Я изменил ссылку в своем ответе на лучший сайт –