Gibt es Möglichkeiten, alle Eingaben aus bestimmten Formularen zu füllen? sagen wir mal so etwas:
<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...
* Hinweis: Jedes Formular hat möglicherweise eine andere Menge an Eingaben und Typen sowie eine andere HTML-Struktur
Gibt es also eine Möglichkeit, die Eingabe von einer bestimmten Formular-ID aus zu füllen? Wenn ich beispielsweise von einer bestimmten Formular-ID auf die Schaltfläche "Senden" klicke, füllt jquery für mich alle Eingaben in dieser Formular-ID aus. Derzeit mache ich Folgendes:
$("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...
}
})
}
Das war Arbeit, aber in diesem Fall bekomme ich nur den Feldnamen und den Feldwert, und eigentlich möchte ich für jedes Eingabeelement ein Abfrageobjekt, damit ich auf deren CSS, ID, Namen und zugreifen kann animieren Sie sogar diese Eingabeelemente
Gibt es einen Weg dafür?
Bitte lassen Sie es mich wissen und bedanken Sie sich im Voraus! Und
quelle
$("form#formID input[type=text],form#formID select")
$("form#formID :input").each
Ausgängeinput
Typ,select
Typ und sogarbutton
Typ Eingänge. Zumindest in meinem Code.input
vs:input
. $ (": input") wählt alle jQuery-Formularelemente aus. $ ("Eingabe") wählt nur Eingabe-Tags aus.Der folgende Code hilft dabei, die Details von Elementen aus dem spezifischen Formular mit der Formular-ID abzurufen.
$('#formId input, #formId select').each( function(index){ var input = $(this); alert('Type: ' + input.attr('type') + 'Name: ' + input.attr('name') + 'Value: ' + input.val()); } );
Der folgende Code hilft dabei, die Details der Elemente aus allen Formularen abzurufen, die auf der Ladeseite platziert sind.
$('form input, form select').each( function(index){ var input = $(this); alert('Type: ' + input.attr('type') + 'Name: ' + input.attr('name') + 'Value: ' + input.val()); } );
Der folgende Code hilft dabei, die Details der Elemente abzurufen, die auf der Ladeseite platziert sind, auch wenn das Element nicht im Tag platziert ist.
$('input, select').each( function(index){ var input = $(this); alert('Type: ' + input.attr('type') + 'Name: ' + input.attr('name') + 'Value: ' + input.val()); } );
HINWEIS: Wir fügen den Namen für mehr Element-Tags, wie wir benötigen, wie folgt in die Objektliste ein:
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()); } );
quelle
Verwenden Sie das Attribut "Elemente" des HTML- Formulars:
$.each($("form").elements, function(){ console.log($(this)); });
Jetzt müssen keine Namen wie "Eingabe, Textbereich, Auswahl ..." usw. angegeben werden.
quelle