JQuery $ .post()提交多个表单而不是一个

时间:2011-05-11 19:05:57

标签: ajax jquery

我在一个页面上有一个包含多个表单的页面。我有一个按钮(在所有表格之外),我只想提交一个表格,但所有表格数据都是从所有表格提交的。

$("#indiv_save").click( function() {
    alert($("#indiv_form").serialize());  // Shows only correct form
    $.post("/admin/update", $("#indiv_form").serialize(), function(data) {
        notify(data); // quick and easy feedback
    });
});

alert()调用显示我想要提交的内容,但Firebug显示.post()之后从所有表单提交的字段,即使serialize()函数相同。

所有表单都有不同的名称和元素ID。

我做错了什么?

3 个答案:

答案 0 :(得分:3)

您正在进行ajax POST并返回。根据您的按钮,它将尝试提交页面的表单。您需要做的是阻止默认操作:

 $('#indiv_save').click(function(e)
 {
      e.preventDefault();
      // Your Code Here
 });

答案 1 :(得分:1)

您的按钮的默认操作可能是“提交表单”,但您并没有阻止它。

从点击功能返回false应该这样做。

答案 2 :(得分:0)

表单不能包含在单个包含<form>标记的内容中,而是必须在单个<form>中分隔出来。