Валидация формы перед отправкой

 
0
 
JavaScript
ava
guest | 15.12.2004, 17:27
Как сделать так что если не все инпуты заполнены что б не происходила отсылка данных и неперегружалась форма.

В таком случае не работает:


{
for(var i=0, el=document.getElementsByTagName("INPUT"); i<el.length; i ++)
{
if (el[i].value == "")
{
var flag = 1;
}
}


if (flag == 1)
{
return false;
}
else
{
return true;
}
}


Форма всеровно перезагружаеться
Kommentare (6)
ava
Alx | 15.12.2004, 18:20 #

<html>
<head>
<title>Форма регистрации</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<script>
function submitForm()
{var el = document.getElementsByTagName("INPUT");
var flag = 0;
for(var i=0;i<el.length;i++)
{if (el[i].value == "")
flag = 1;
}
if (flag == 1)
{alert("Заполните все поля формы!")
}
else
{document.forms["myForm"].submit();
}
}
</script>
</head>
<body>
<form name="myForm" action="script.php" method="get">
Ваше имя: <input type="text" name="name">
<br>
Пароль: <input type="text" name="pass">
<br>
E-Mail: <input type="text" name="email">
<br><br>
<input type="button" onclick="submitForm();" value="Отправить">
</form>
</body>
</html>
ava
guest | 15.12.2004, 18:36 #
Если хоть одно поле не заполнено то форма перезагружаеться что надо вписать в этот кусок что б этого не происходило?

if (flag == 1)
{
alert("Заполните все поля формы!")
?????
}
ava
Alx | 15.12.2004, 18:40 #
ничего подобного! форма отправляется только если все поля заполнены!
ava
guest | 15.12.2004, 18:49 #
Да большое спасибо это я поглупасти не так сделал
ava
Alx | 15.12.2004, 19:10 #
;-)
ava
Се ля ви | 15.12.2004, 23:05 #
Вообще-то более разумный способ использовать такую конструкцию:

<form onsubmit="return submitForm();" action="script.php">

тогда если функция submit вернёт true - формаа отправится, если false - событие сабмита проигнорируется.

Так просто более правильно и красиво, хотя по большому счёту - что в лоб, что по лбу ;-)
Registrieren Sie sich oder melden Sie sich an, um schreiben zu können.
Unternehmen des Tages
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Mitwirkende
advanced
Absenden