Ich habe dieses HTML
<ul>
<li><form action="#" name="formName"></li>
<li><input type="text" name="someName" /></li>
<li><input type="text" name="someOtherName" /></li>
<li><input type="submit" name="submitButton" value="send"></li>
<li></form></li>
</ul>
Wie kann ich das Formular auswählen, zu dem input[name="submitButton"]
das gehört? (Wenn ich auf die Schaltfläche "Senden" klicke, möchte ich das Formular auswählen und einige Felder darin anhängen.)
Sie können die Formularreferenz verwenden, die für alle Eingaben vorhanden ist. Dies ist viel schneller als
.closest()
(5-10-mal schneller in Chrome und IE8). Funktioniert auch mit IE6 & 7.quelle
closest()
da eine Eingabe möglicherweise eine eigene Formularzuweisung hat: codepen.io/anon/pen/vNqEygFür mich sieht das am einfachsten / schnellsten aus:
quelle
$(this.form)
die beste LösungAb HTML5-Browsern kann man verwenden
inputElement.form
- der Wert des Attributs muss eine ID eines<form>
Elements im selben Dokument sein. Weitere Infos zu MDN .quelle
Siehe auch jquery / js - Wie wähle ich das übergeordnete Formular basierend auf der Schaltfläche zum Senden aus?
quelle