Запрет отправки формы.
Вечер добрый.
Есть задача: проверить поля формы, заполнены ли они. <script> function ver(){ var name = $('input#user_name').attr('value'); var phone = $('input#phone').attr('value'); var mail = $('input#mail').attr('value'); if (name == '') { alert('Поле "Имя" не заполнено'); return false }; if (phone == '') { alert('Поле "Телефон" не заполнено'); return false }; if (mail == '') { alert('Поле "E-mail" не заполнено'); return false }; if ((name !=='') && (phone !== '') && (mail !== '')) { $('.newsletter').submit(); }; }; </script> <form enctype="multipart/form-data" method="post" action="/webforms/send/" onsubmit="return false"> <input type="submit" class="submit button_order_check" value="Рассчитать" /> </form> Поля проверяет, но если они все заполнены, отправка не идёт. В чем моя ошибка? |
подправить
onsubmit="return false" на onsubmit="ver()" |
Не работает. К сожалению.
<form enctype="multipart/form-data" method="post" action="/webforms/send/"> <input type="button" onclick="ver()" class="submit button_order_check" value="Рассчитать" /> </form> Поменял type="submit" на button, теперь форма проверяется, но отправляется в любом случае, соблюдено условие или нет. |
Garroshek,
функция ver должна возвращать true или false -- тогда onsubmit="return ver()" |
Проблема была решена.
<input type="button" onclick="ver()" class="submit button_order_check" value="Рассчитать" /> <script> function ver(){ var name = $('input#user_name').attr('value'); var phone = $('input#phone').attr('value'); var mail = $('input#mail').attr('value'); var flag = 0; if (name == '') { alert('Поле "Имя" не заполнено'); flag = 0; } if (phone == '') { alert('Поле "Телефон" не заполнено'); flag = 0; } if (mail == '') { alert('Поле "E-mail" не заполнено'); flag = 0; } if ((name !== '') && (phone !== '') && (mail !== '')) { flag = 1; } if(flag == 1) { $('.form_order_check').submit(); }; }; </script> Всем спасибо! |
Цитата:
Сделай как предложил ]рони[/b] Укажи атрибуты для валидации: <input type="email" required="" /> Для не-html5 браузеров используй либо свой скрипт либо подключи какой-нибудь костыль |
Часовой пояс GMT +3, время: 09:20. |