Как запретить submit при пустом текстовом поле?
Здравствуйте!
Есть простой код для проверки для формы. <FORM method="POST" action="pochta.php"> <P>Ваше имя:<br> <INPUT type="text" name="name" size=30/> </p> <p>Ваша почта:<br/> <input type="text" name="from"/> </p> <P>Тема<br> <INPUT type="text" name="subject" size=30/> </p> <P>Сообщение:<br> <textarea name="msg" id="msg" cols=30 rows=5></textarea> </p> <INPUT type="submit" id="sbm" value="Отправить" onclick="empty_form()"/> </FORM> Вот скрипт проверки: function empty_form () { var txt = document.getElementById('msg').value; if(txt == '') { alert('Вы забыли ввести текст.'); } } Все работает, только после окна предупреждения о том, что не введен текст, отправка все равно происходит. Как это исправить? |
<FORM method="POST" onsubmit="return empty_form()" action="pochta.php"> <P>Ваше имя:<br> <INPUT type="text" name="name" size=30/> </p> <p>Ваша почта:<br/> <input type="text" name="from"/> </p> <P>Тема<br> <INPUT type="text" name="subject" size=30/> </p> <P>Сообщение:<br> <textarea name="msg" id="msg" cols=30 rows=5></textarea> </p> <INPUT type="submit" id="sbm" value="Отправить"/> </FORM> function empty_form () { var txt = document.getElementById('msg').value; if(txt == '') { alert('Вы забыли ввести текст.'); return false; } return true; } |
Благодарю, Андрей!
Заработало! :) |
а какая структура будет у if если нужно проверить значение 2 полей ?
|
Тебе нужно обязательно с if? Можно и по-другому проверить значение всех полей в форме, сколько бы их ни было.
function checkForm(form) { for (var i = 0; i < form.elements.length; i++) if (form.elements[i].value == '') { alert ('Заполните все поля'); return false; } } форма: <FORM method="post" action="pochta.php" onsubmit="return checkForm(this)"> Ваше имя:<br> <INPUT type="text"/> <br/> Ваша почта:<br/> <input type="text"/> <br/> Тема<br> <INPUT type="text"/> <br/> Сообщение:<br> <textarea cols=30 rows=5></textarea> <br/> <INPUT type="submit" value="Отправить"/> <input type="reset" value="Очистить"> </FORM> |
та не. у меня просто textarea и 1 input. остальное вынес в $.ajax
проверил так Код:
if (txt == \'\' || captcha == \'\') {... |
Часовой пояс GMT +3, время: 07:33. |