Как проверить все атрибуты всех инпутов
Доброго времени.
Есть форма. Нужно проверить, заполнены ли все поля или нет. Мысль: если хотя бы один из $('input').attr('value') == " ", то совершить действие. Как это грамотно реализовать? |
имхо по each http://jquery.page2page.ru/index.php...BE%D1%80%D0%B0
Если $(this)=='', то stop=1 Если stop==1, то "заполните все поля" Как-то так, но я предпочитаю проверять каждое поле, хотя бы потому, что мыло не может содержать симвлов русского алфавита, тчк-с-зпт и т.д. |
val()
Позволяет получить значение атрибута value у элементов input, textarea, select. Для элементов select и checkbox нужно использовать селекторы :selected и :checked. function notEmptyInput(){ $('input').each(function(i) { if ($(this).attr('value') != " ") {return true ;} }); Проверяешь если функция вернула True то значит еще есть не заполненное поле. |
$(this).attr('value') ??????
$(this).val() достаточно |
для конкретной формы через serialize, создается объект со всеми инпутами формы.
|
Спасибо! помогли сделать вот так:
$('#form_1 input').each(function(i) {
if ($(this).val()!= "") {
return true;
} else {
$(this).after('<span style="color:red">заполните поле правильно</span>');
}
});
А как теперь сделать чтобы если все поля заполнены, происходило действие? |
СДелал так:
var a=true;
$('#form_1 input').each(function(i) {
if ($(this).val()!= "") {
} else {
$(this).after('<span style="color:red">заполните поле правильно</span>');
a=false;
}
});
if (a){
$('#form_1').fadeOut();
$('#form_2').fadeIn();
}
Можно ли проще? Но вообще не обязательно. Этого достаточно! Спасибо всем большое |
if ($('#form_1 input[value=""]').after('<span style="color:red">заполните поле правильно</span>').length !== 0) {
$('#form_1').fadeOut();
$('#form_2').fadeIn();
}
|
Кому интересно то вот код
(function ($) {
$(function () {
$('form').submit(function (event) {
event.preventDefault();
form = $(this);
form.each(function (i) {
if ($(this).find('input').val() != "") {
return true;
} else {
$(this).find('input').after('<span style="color:red">заполните поле правильно</span>');
}
});
});
});
})(jQuery);
|
sobchenyuk, 6 лет назад он явно был интересен ТС))
UPD. Да и я бы не стал юзать этот код. |
sobchenyuk,
Цитата:
|
| Часовой пояс GMT +3, время: 02:16. |