Mam ten 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>
Jak mogę wybrać formularz, którego input[name="submitButton"]
jest częścią? (kiedy klikam przycisk Prześlij, chcę wybrać formularz i dołączyć do niego niektóre pola)
Możesz użyć odwołania do formularza, które istnieje na wszystkich wejściach, jest to znacznie szybsze niż
.closest()
(5-10 razy szybsze w Chrome i IE8). Działa również w IE6 i 7.źródło
closest()
ponieważ dane wejściowe mogą mieć własne przypisanie formularza: codepen.io/anon/pen/vNqEygDla mnie wygląda to na najprostsze / najszybsze:
źródło
$(this.form)
jest najlepszym rozwiązaniemZ przeglądarek HTML5 można korzystać
inputElement.form
- wartość atrybutu musi być identyfikatorem<form>
elementu w tym samym dokumencie. Więcej informacji na temat MDN .źródło
zobacz także jquery / js - Jak wybrać formularz nadrzędny na podstawie kliknięcia przycisku Prześlij?
źródło