Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.07.2012, 13:12
Аспирант
Отправить личное сообщение для wcb-falcon Посмотреть профиль Найти все сообщения от wcb-falcon
 
Регистрация: 11.06.2008
Сообщений: 31

найти все элементы формы
Хочу сделать проверку формы
пример:
<form method="post" name="form03" action="" >
	<input type="hidden" name="status" value="0" >
	Логин*<br />
	<input type="text" name="login" required="required" >
	Пароль*<br />
	<input type="password" name="password" required="required" >
	Email*<br />
	<input type="text" name="email" required="required" >
	<input type="submit" name="go_callback_form03" value="Отправить" >
</form>

$(document).ready(function(){
		$('input[name=go_callback_form03]').click(function(){
			var form = $('form[name=form03]');
			var values = new Array();
			//...
			// перебор элементов формы и запись их в массив values
			//...
		});
	});

так вот подскажите как мне задать перебор всех элементов формы чтобы потом проверить их на заполненность, нажатие (для чекбоксов и радио), на выбор (для селектов)

у меня есть пример из простого JS где это делается так:
for(var i = 0; i < form.elements.length; i++){ 
		el = form.elements[i]; 
	}

а как это сделать в JQUERY ?
Ответить с цитированием
  #2 (permalink)  
Старый 17.07.2012, 13:29
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

<script type="text/javascript" src="http://yandex.st/jquery/1.4.4/jquery.min.js"></script>
<form method="post" name="form03" action="" >
	<input type="hidden" name="status" value="0" >
	Логин*<br />
	<input type="text" name="login" required="required" >
	Пароль*<br />
	<input type="password" name="password" required="required" >
	Email*<br />
	<input type="text" name="email" required="required" >
	<input type="submit" name="go_callback_form03" value="Отправить" >
</form>
<input type="button"  onclick="Test()" value="Test">



<script type="text/javascript">
function Test() {
$("form[name='form03']").find("input,select").not('[type="submit"]').each(function() {
 alert($(this).attr('type'))
});
}
</script>

Последний раз редактировалось Deff, 17.07.2012 в 13:33.
Ответить с цитированием
  #3 (permalink)  
Старый 17.07.2012, 17:09
Аспирант
Отправить личное сообщение для wcb-falcon Посмотреть профиль Найти все сообщения от wcb-falcon
 
Регистрация: 11.06.2008
Сообщений: 31

спс большое помогло
а то у меня порой бывают очень большие формы и все поля прописывать по именам проблематично а так смогу создать свою универсальную проверку
Ответить с цитированием
  #4 (permalink)  
Старый 17.07.2012, 17:50
Аспирант
Отправить личное сообщение для wcb-falcon Посмотреть профиль Найти все сообщения от wcb-falcon
 
Регистрация: 11.06.2008
Сообщений: 31

кстати какие атрибуты можно узнать находясь на том или ином элементе.
а то хотелось бы к примеру отделить select'ы и textarea для дополнительной проверки других значений в этих элементах.

По выше указанному способу могу узнать:
$("form[name='form03']").find("input,select,textarea").not('[type="submit"]').not('[type="hidden"]').each(function(){
	var disabled = $(this).attr('disabled');
	var name = $(this).attr('name');
	var type = $(this).attr('type'); // если елемент INPUT
	var value = $(this).val();
	// ... проверка
}

а вот как при этом определить что элемент INPUT, SELECT и TEXTAREA ?
Ответить с цитированием
  #5 (permalink)  
Старый 17.07.2012, 18:01
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

wcb-falcon,
Ну Вы можете распарсить отдельно
$("form[name='form03']").find("input").not('[type="submit"]').not('[type="hidden"]').each(function(){
	var disabled = $(this).attr('disabled');
	var name = $(this).attr('name');
	var type = $(this).attr('type'); // если елемент INPUT
	var value = $(this).val();
	// ... проверка
});
$("form[name='form03']").find("select").each(function(){
	// ... проверка
})
$("form[name='form03']").find("textarea").each(function(){
	// ... проверка
});


А можно внутри глядеть Тег
<script type="text/javascript" src="http://yandex.st/jquery/1.4.4/jquery.min.js"></script>
<form method="post" name="form03" action="" >
	<input type="hidden" name="status" value="0" >
	Логин*<br />
	<input type="text" name="login" required="required" >
	Пароль*<br />
	<input type="password" name="password" required="required" >
	Email*<br />
	<input type="text" name="email" required="required" >
	<textarea></textarea>
	<input type="submit" name="go_callback_form03" value="Отправить" >
</form>
<input type="button"  onclick="Test()" value="Test">



<script type="text/javascript">
function Test() {
$("form[name='form03']").find("input,select,textarea").not('[type="submit"]').each(function() {
 alert(this.nodeName)
});
}
</script>
Ответить с цитированием
  #6 (permalink)  
Старый 17.07.2012, 18:12
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от Deff
.find("input,select")
textarea ? плохо
Ответить с цитированием
  #7 (permalink)  
Старый 17.07.2012, 18:22
Аватар для DreamTheater
Профессор
Отправить личное сообщение для DreamTheater Посмотреть профиль Найти все сообщения от DreamTheater
 
Регистрация: 15.02.2011
Сообщений: 471

А чем не подходит serializeArray?
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
"любой символ" в обращении к полю формы возможно? JeФoks Элементы интерфейса 2 04.08.2011 16:10
Как сделать реакцию на изменение любого элемента формы. Mik Events/DOM/Window 3 28.07.2011 08:52
Валидация формы dmsuslov jQuery 4 05.11.2010 16:12
Как удалить все пустые элементы UL smashercosmo Events/DOM/Window 13 25.02.2009 09:03
все инпуты формы remitmaster Общие вопросы Javascript 2 20.09.2008 03:13