eu tenho esse 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>
Como posso selecionar o formulário do qual input[name="submitButton"]
faz parte? (quando clico no botão enviar, desejo selecionar o formulário e anexar alguns campos)
Você pode usar a referência de formulário existente em todas as entradas. Isso é muito mais rápido que
.closest()
(5 a 10 vezes mais rápido no Chrome e IE8). Também funciona no IE6 e 7.fonte
closest()
uma vez que uma entrada pode ter uma própria atribuição forma: codepen.io/anon/pen/vNqEygPara mim, isso parece o mais simples / mais rápido:
fonte
$(this.form)
é a melhor soluçãoComo nos navegadores HTML5, é possível usar
inputElement.form
- o valor do atributo deve ser o ID de um<form>
elemento no mesmo documento. Mais informações sobre MDN .fonte
veja também jquery / js - Como seleciono o formulário pai com base em qual botão de envio é clicado?
fonte