Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.06.2011, 18:00
Кандидат Javascript-наук
Отправить личное сообщение для shaltay Посмотреть профиль Найти все сообщения от shaltay
 
Регистрация: 28.02.2011
Сообщений: 134

Как проверить все атрибуты всех инпутов
Доброго времени.
Есть форма. Нужно проверить, заполнены ли все поля или нет.

Мысль: если хотя бы один из $('input').attr('value') == " ", то совершить действие.
Как это грамотно реализовать?
Ответить с цитированием
  #2 (permalink)  
Старый 01.06.2011, 20:22
Аватар для Serg_pnz
Сам по себе
Отправить личное сообщение для Serg_pnz Посмотреть профиль Найти все сообщения от Serg_pnz
 
Регистрация: 09.06.2009
Сообщений: 963

имхо по each http://jquery.page2page.ru/index.php...BE%D1%80%D0%B0
Если $(this)=='', то stop=1
Если stop==1, то "заполните все поля"

Как-то так, но я предпочитаю проверять каждое поле, хотя бы потому, что мыло не может содержать симвлов русского алфавита, тчк-с-зпт и т.д.
Ответить с цитированием
  #3 (permalink)  
Старый 01.06.2011, 20:26
Профессор
Отправить личное сообщение для Telnet Посмотреть профиль Найти все сообщения от Telnet
 
Регистрация: 21.02.2011
Сообщений: 160

val()

Позволяет получить значение атрибута value у элементов input, textarea, select. Для элементов select и checkbox нужно использовать селекторы :selected и :checked.
function notEmptyInput(){
$('input').each(function(i) {
if ($(this).attr('value') != " ") {return true ;}
});

Проверяешь если функция вернула True то значит еще есть не заполненное поле.
Ответить с цитированием
  #4 (permalink)  
Старый 01.06.2011, 21:11
Аватар для Serg_pnz
Сам по себе
Отправить личное сообщение для Serg_pnz Посмотреть профиль Найти все сообщения от Serg_pnz
 
Регистрация: 09.06.2009
Сообщений: 963

$(this).attr('value') ??????
$(this).val() достаточно
Ответить с цитированием
  #5 (permalink)  
Старый 02.06.2011, 14:18
Аватар для cmygeHm
Профессор
Отправить личное сообщение для cmygeHm Посмотреть профиль Найти все сообщения от cmygeHm
 
Регистрация: 12.10.2010
Сообщений: 196

для конкретной формы через serialize, создается объект со всеми инпутами формы.
Ответить с цитированием
  #6 (permalink)  
Старый 02.06.2011, 18:05
Кандидат Javascript-наук
Отправить личное сообщение для shaltay Посмотреть профиль Найти все сообщения от shaltay
 
Регистрация: 28.02.2011
Сообщений: 134

Спасибо! помогли сделать вот так:
$('#form_1 input').each(function(i) {
		if ($(this).val()!= "") {
			return true;
		} else {
			$(this).after('<span style="color:red">заполните поле правильно</span>');
		}
		
	});


А как теперь сделать чтобы если все поля заполнены, происходило действие?
Ответить с цитированием
  #7 (permalink)  
Старый 02.06.2011, 18:12
Кандидат Javascript-наук
Отправить личное сообщение для shaltay Посмотреть профиль Найти все сообщения от shaltay
 
Регистрация: 28.02.2011
Сообщений: 134

СДелал так:

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();
}


Можно ли проще? Но вообще не обязательно. Этого достаточно!

Спасибо всем большое
Ответить с цитированием
  #8 (permalink)  
Старый 02.06.2011, 19:34
Профессор
Отправить личное сообщение для Matre Посмотреть профиль Найти все сообщения от Matre
 
Регистрация: 07.01.2011
Сообщений: 582

if ($('#form_1 input[value=""]').after('<span style="color:red">заполните поле правильно</span>').length !== 0) {
	$('#form_1').fadeOut();
	$('#form_2').fadeIn();
}
Ответить с цитированием
  #9 (permalink)  
Старый 19.05.2017, 14:24
Новичок на форуме
Отправить личное сообщение для sobchenyuk Посмотреть профиль Найти все сообщения от sobchenyuk
 
Регистрация: 19.05.2017
Сообщений: 1

Кому интересно то вот код
(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);
Ответить с цитированием
  #10 (permalink)  
Старый 19.05.2017, 14:59
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,707

sobchenyuk, 6 лет назад он явно был интересен ТС))

UPD. Да и я бы не стал юзать этот код.

Последний раз редактировалось Nexus, 19.05.2017 в 15:02.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как записать id всех элементов в массив? SunYang Общие вопросы Javascript 21 06.02.2010 22:50
как реализовать задачу? (автокомплит и много инпутов из под дома) h-zone jQuery 1 06.11.2009 20:09
Как получить список всех установленных плагинов VitAngel Internet Explorer 0 15.07.2009 09:13
Как снять фокус со всех элементов? Logo Общие вопросы Javascript 7 02.07.2009 23:53
Как присвоить текст строке состояния для всех браузеров? Tend Общие вопросы Javascript 4 14.05.2009 16:38