1

私はjquery 1.3.2を使用しています。1 つのページに同じ ID を持つ 2 つの同じ送信ボタンがあります。ボタンには異なるフォーム ID があります。

両方のボタンの ID は同じです

<input type="submit" id="edit-submit-43" class="form-submit">

両方のフォームの ID が異なります

<form action="/productxy" accept-charset="UTF-8" method="post" id="uc-product-kit-add-to-cart-form-43-1" class="ajax-cart-submit-form"></form>

HTMLの最初のボタンではなく、クリックされたボタンのフォームのIDを取得するには?

4

2 に答える 2

2

JS は表示されませんが、一般的なクリック ハンドラーをボタンにバインドするか、一般的な送信ハンドラーをフォームにバインドすると仮定して、thisDOM トラバーサル メソッドと組み合わせて使用​​します。

$(".form-submit").click(function() {
    // assuming the button is actually inside its associated form:
    var parentFormID = $(this).closest("form").attr("id");
});

また:

$("form").submit(function() {
    var myId = this.id;
});

イベント ハンドラー内ではthis、イベントが適用された要素を参照します。

また、重複した ID を持つことは無効であることに注意してください。

于 2013-06-08T00:15:10.313 に答える
1

HTML ページの ID は一意である必要があります。

これをに変更

<input type="submit" class="form-submit">

idforボタンは不要なので完全に削除できます

$('.form-submit').on('click', function() {

     var $form = $(this).closest('form');

     // this should give you the corresponding form 
     // in which the button is in

     var formId = $form.attr('id');
});
于 2013-06-08T00:12:12.380 に答える