JQuery – 提交的表单是什么?

我有一个产品页面,对于每个产品,我想要一个使用AJAX来更新会话的表单。 我做到了这一点 – 只提供背景。

我使用产品的ID为每个表单创建一个不同的表单类和名称,因此每个表单都被称为this_form_name_567 ,而下一个表格将是this_form_name_568 ,依此类推。

每个表单都有一个提交按钮。 我很难搞清楚

  1. 最好使用哪个事件,以便在单击提交按钮时识别正确的表单?

  2. 点击后,如何确保从提交的表单中的隐藏字段(唯一ID)中获取正确的值,以便我可以填充一行代码,例如:

     $.post("compare_response.php", {compare_this: $("#compare_this").val()}, function(data){ } 

您可以使用.closest树遍历方法来获取嵌套感兴趣按钮的表单:

 $("input[type=submit]").click(function() { alert($(this).closest("form").attr("id")); }); 

甚至更简单,只需获取元素的form属性:)

 $("input[type=submit]").click(function() { alert(this.form.id); }); 

你可以在这里试一试。

您可以像这样获得您提交的表单:

 $('form').submit(function() { var yourForm = $(this); var hiddenValue = $(this).find('input[type=hidden]').val(); }); 

当然,您可以以不同方式获得隐藏值,或者如果您隐藏了多个隐藏值,则必须提供更多有关它的信息。