tengo este 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>
¿Cómo puedo seleccionar el formulario del que input[name="submitButton"]
forma parte? (Cuando hago clic en el botón Enviar quiero seleccionar el formulario y agregar algunos campos en él)
Puede usar la referencia de formulario que existe en todas las entradas, esto es mucho más rápido que
.closest()
(5-10 veces más rápido en Chrome e IE8). Funciona también en IE6 y 7.fuente
closest()
ya que una entrada puede tener una asignación de formulario propia: codepen.io/anon/pen/vNqEygPara mí, esto parece el más simple / rápido:
fuente
$(this.form)
es la mejor soluciónA partir de los navegadores HTML5 que se pueden usar
inputElement.form
, el valor del atributo debe ser la identificación de un<form>
elemento en el mismo documento. Más información sobre MDN .fuente
consulte también jquery / js: ¿cómo selecciono el formulario principal en función del botón de envío en el que se hace clic?
fuente