Есть ли способы заполнить все данные из определенной формы? скажем так:
<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 и field.value, и на самом деле то, что я хочу, - это объект jquery для каждого элемента ввода, поэтому я могу получить доступ к их css, id, name и даже анимировать этот элемент ввода
есть ли способ для этого?
пожалуйста, дайте мне знать и заранее спасибо! И
$("form#formID input[type=text],form#formID select")
$("form#formID :input").each
input
тип выходов ,select
тип и дажеbutton
тип входов. По крайней мере, в моем коде.input
против:input
. $ (": input") выбирает все элементы формы jQuery. $ ("input") выбирает только теги ввода.Приведенный ниже код помогает получить подробную информацию об элементах из конкретной формы с идентификатором формы,
$('#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 ...» и т. Д.
источник