0

我正在尝试使用 div 作为 html 表单的提交按钮,因为我不喜欢默认按钮的外观。问题是我的页面上有几个相同的表单和 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 回答