2个相同的提交按钮 - 提交后获得正确的表单ID

时间:2013-06-08 00:11:33

标签: jquery jquery-selectors

我使用jquery 1.3.2。我有两个相同的提交按钮,在一个页面中具有相同的ID。按钮有不同的形式ID。

两个按钮都具有相同的ID

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

两种形式都有不同的身份

<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>

如何获取点击按钮形式的id而不是html中第一个按钮?

2 个答案:

答案 0 :(得分:2)

您没有展示您的JS,但假设您将常用的点击处理程序绑定到按钮或表单的公共提交处理程序,您将this与DOM遍历方法结合使用:

$(".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无效。

答案 1 :(得分:1)

HTML页面中的ID应该是唯一的。

将此更改为

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

您可以完全删除id按钮,因为它不是必需的

$('.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');
});