Подтвердить что ты не робот

Jquery получить все данные из определенной формы

Есть ли способ заполнить все данные из определенной формы? скажем, что-то вроде этого:

<form id="unique00">
  <input type="text" name="whatever" id="whatever" value="whatever" />
  <div>
    <input type="checkbox" name="whatever" id="whatever" value="whatever" />
  </div>
  <table><tr><td>
    <input type="hidden" name="whatever" id="whatever" value="whatever" />
    <input type="submit" value="qweqsac" />
  </td></tr></table>
</form>
<form id="unique01">
  <div>
    <input type="text" name="whatever" id="whatever" value="whatever" />
    <input type="checkbox" name="whatever" id="whatever" value="whatever" />
  </div>
  <table><tr><td>
    <input type="hidden" name="whatever" id="whatever" value="whatever" />
  </td></tr></table>
  <select>blah...</select>
  <input type="submit" value="qweqsac" />
</form>
etc forms... forms...

* Примечание: каждая форма может иметь различную величину ввода и типа, а также другую структуру HTML

так есть ли способ заполнить ввод из определенного идентификатора формы? например, если я нажму кнопку "Отправить" с определенного идентификатора формы, тогда jquery заполнит для меня весь вход в пределах этого идентификатора формы. в настоящее время я делаю это так:

$("form").submit(function(){ return validateForm($(this)) });
function validateForm(form){
var retVal = true;
var re;
$.each(form.serializeArray(), function(i, field) {
  var input = $('input[name='+field.name+']');
  field.value = $.trim(field.value);
  switch(field.name){
    case "name" :
        and another cases...
      }
    })
 }

это была работа, но в этом случае я получаю только поле.имя и field.value, и на самом деле то, что я хочу, я хочу объект jquery для каждого элемента ввода, поэтому я могу получить доступ к их css, id, name и даже анимировать эти входные данные элемент

есть ли для этого способ?

пожалуйста, дайте мне знать и заранее заблаговременно! И

4b9b3361

Ответ 1

Чтобы перебрать все входы в форме, вы можете сделать это:

$("form#formID :input").each(function(){
 var input = $(this); // This is the jquery object of the input, do what you will
});

Это использует jquery : селектор ввода, чтобы получить ВСЕ типы входов, если вы просто хотите текст, который вы можете сделать:

$("form#formID input[type=text]")//...

и др.

Ответ 2

Следующий код помогает получить детали элементов из конкретной формы с идентификатором формы,

$('#formId input, #formId select').each(
    function(index){  
        var input = $(this);
        alert('Type: ' + input.attr('type') + 'Name: ' + input.attr('name') + 'Value: ' + input.val());
    }
);

Следующий код помогает получить детали элементов из всех форм, которые находятся на странице загрузки,

$('form input, form select').each(
    function(index){  
        var input = $(this);
        alert('Type: ' + input.attr('type') + 'Name: ' + input.attr('name') + 'Value: ' + input.val());
    }
);

Нижеприведенный код помогает получить детали элементов, которые находятся на странице загрузки, даже если элемент не находится внутри тега,

$('input, select').each(
    function(index){  
        var input = $(this);
        alert('Type: ' + input.attr('type') + 'Name: ' + input.attr('name') + 'Value: ' + input.val());
    }
);

ПРИМЕЧАНИЕ.. Мы добавляем больше тегов тегов элементов, которые нам нужны в списке объектов, как показано ниже,

Example: to get name of attribute "textarea",

$('input, select, textarea').each(
    function(index){  
        var input = $(this);
        alert('Type: ' + input.attr('type') + 'Name: ' + input.attr('name') + 'Value: ' + input.val());
    }
);

Ответ 3

Использовать атрибут "Элементы" формы HTML:

$.each($("form").elements, function(){ console.log($(this)); }

Теперь нет необходимости предоставлять такие имена, как "вход, текстовое поле, выбор..." и т.д.