найти все элементы формы
Хочу сделать проверку формы
пример: <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 ? :( |
<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> |
спс большое помогло
а то у меня порой бывают очень большие формы и все поля прописывать по именам проблематично а так смогу создать свою универсальную проверку :) |
кстати какие атрибуты можно узнать находясь на том или ином элементе.
а то хотелось бы к примеру отделить 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 ? |
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> |
Цитата:
|
А чем не подходит serializeArray?
|
Часовой пояс GMT +3, время: 00:52. |