похожий вопрос, поэтому решил написать в эту тему:
форма:
<form name="UserEnter" action="index.php" method="POST" onsubmit="CheckFields()">
Укажите e-mail: <input type="text" name="login" id ="login" value="" size="30" />
<?php
/*if ($userIsEmpty)
echo (" Укажите свой e-mail");*/
if (!$userIsValid)
echo (" Такой пользователь отсутствует. Пройдите процедуру регистрации!");
?>
<br/>
Укажите пароль:<input type="password" name="password" id ="password" value="" size="10" />
<?php
/*if ($passwordIsEmpty)
echo (" Укажите свой пароль");*/
if (!$passwordIsValid)
echo (" Пароль не верный!");
?>
<br/>
<input type="submit" value="Вход" />
</form>
Сама функция валидации:
function CheckFields()
{
var checklogin = false;
var checkpassword = false;
// получение элемента login
ValueLogin = document.getElementById('login');
// проверка того, что элемент login заполнен
if (ValueLogin.value !='' && ValueLogin != undefined){
checklogin = true;
// получение элемента password
ValuePassword = document.getElementById('password');
// проверка того, что элемент password заполнен
if (ValuePassword.value !='' && ValuePassword != undefined){
checkpassword = true;
// submit должен выполняться только в случае заполнения всех полей
document.forms["UserEnter"].submit();
}
else alert('Укажите пароль!');
}
else alert('Укажите свой e-mail!');
}
При нажатии submit отрабатывает условие в событии onsubmit, но после того как закрываю алерт-окошко данные формы все равно отправляются. Как сделать чтоб не отправлялись?