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.name и поле.значение, и на самом деле то, что я хочу, я хочу объект jquery для каждого элемента ввода, поэтому я могу получить доступ к их css, id, name и даже анимировать эти элементы ввода



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



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

563   3  

3 ответов:

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

$("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]")//...

etc.

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

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

использовать HTML форма "элементов":

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

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

Comments

    Ничего не найдено.