237

私はこの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>

が含まれているフォームを選択するにはどうすればよいinput[name="submitButton"]ですか?(送信ボタンをクリックすると、フォームを選択していくつかのフィールドを追加したい)

4

5 に答える 5

509

closest最も一致する親要素を選択する、を使用することをお勧めします。

$('input[name="submitButton"]').closest("form");

名前でフィルタリングする代わりに、次のようにします。

$('input[type=submit]').closest("form");
于 2009-10-25T18:58:53.420 に答える
56

すべての入力に存在するフォーム参照を使用できます。これは、.closest()(Chrome および IE8 では 5 ~ 10 倍高速) よりもはるかに高速です。IE6 & 7 でも動作します。

var input = $('input[type=submit]');
var form = input.length > 0 ? $(input[0].form) : $();
于 2011-07-25T09:39:54.517 に答える
22

私には、これが最も簡単/最速のように見えます:

$('form input[type=submit]').click(function() { // attach the listener to your button
   var yourWantedObjectIsHere = $(this.form);   // use the native JS object with `this`
});
于 2013-09-20T16:20:20.483 に答える
3

HTML5 ブラウザーの時点で使用できる- 属性の値は、同じドキュメント内の要素inputElement.formの ID でなければなりません。<form>詳細についてはMDNを参照してください。

于 2018-07-13T07:41:04.693 に答える
0

jquery/jsも参照してください- どの送信ボタンがクリックされたかに基づいて親フォームを選択するにはどうすればよいですか?

$('form#myform1').submit(function(e){
     e.preventDefault(); //Prevent the normal submission action
     var form = this;
     // ... Handle form submission
});
于 2010-03-07T10:18:43.357 に答える