0

デフォルトのボタンの外観が気に入らないため、html フォームの送信ボタンとして div を使用しようとしています。問題は、ページにいくつかの同一のフォームと div ボタンがあり (jquery で追加されている)、どちらも一意の ID を持っていないことです。ページに複数のフォームがある場合、対応する div ボタンが最初のフォームを送信します。

各 div ボタンとフォームは、より大きなコンテナー div 内にあります。次のようなことは可能ですか:

$(".div_btn").click(function () {
    $(this).parent().$(".my_form").$("#my_submit").trigger("click")
}); 

ここで、.div_btn はボタンとして使用している div、.my_form はフォーム クラス、#my_submit はこのフォームの送信ボタンの ID です。

4

3 に答える 3

2

すべての ID は一意である必要があります。フォームの一意の ID を作成します。次に使用します。

$("#uniqueFormId").submit();

一意の ID の作成に関して、簡単な例を次に示します。

HTML:

<button id="formAdder">Add Form</button>
<div id="formHolder">
</div>

jQuery:

$(document).ready(function() {
  $("#formAdder").click(function() {  
    var formNum = $("form").length;   
    $("#formHolder").append("<form id='uniqueForm" + formNum + "'>Form Id is uniqueForm" +formNum+"</form>");
  });
});

フィドル。_

于 2013-11-11T18:31:59.080 に答える
2

(javascriptによる)送信のクリックをトリガーしてもフォームが送信されないため、質問への回答はあなたがやりたいことを達成しません。ただし、DOMが私が思うものである場合、これは次のようになります。

$(".div_btn").click(function () {
    $(this).closest('form').submit();
}); 
于 2013-11-11T18:32:06.537 に答える
1

試す:

$('.div_btn').click(function () {
    $(this).parent().find('#my_submit').trigger('click');
});
于 2013-11-11T18:33:14.410 に答える