Я создал форму в 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>
Как я могу решить эту проблему?
2 ответа
Использовать
<input class="button" type="button">
И поместите событие onclick следующим образом:
<input class="button" type="button" onclick="this.submit()">
Так что вы можете манипулировать данными, прежде чем подименовывать их.
Есть событие onsubmit, которое позволяет вам контролировать отправку формы. Используйте его для вызова ваших функций проверки и только после этого решите, хотите ли вы разрешить пользователю отправлять форму. http://www.htmlcodetutorial.com/forms/_FORM_onSubmit.html
Вы должны использовать его следующим образом, если хотите предотвратить отправку формы:
<form onsubmit="return check()">
Похожие вопросы
Новые вопросы
javascript
По вопросам программирования на ECMAScript (JavaScript/JS) и его различных диалектах/реализациях (кроме ActionScript). Обратите внимание, что JavaScript — это НЕ Java. Включите все теги, относящиеся к вашему вопросу: например, [node.js], [jQuery], [JSON], [ReactJS], [angular], [ember.js], [vue.js], [typescript], [стройный] и т. д.