我在一个页面上有一个包含多个表单的页面。我有一个按钮(在所有表格之外),我只想提交一个表格,但所有表格数据都是从所有表格提交的。
$("#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。
我做错了什么?
答案 0 :(得分:3)
您正在进行ajax POST并返回。根据您的按钮,它将尝试提交页面的表单。您需要做的是阻止默认操作:
$('#indiv_save').click(function(e)
{
e.preventDefault();
// Your Code Here
});
答案 1 :(得分:1)
您的按钮的默认操作可能是“提交表单”,但您并没有阻止它。
从点击功能返回false应该这样做。
答案 2 :(得分:0)
表单不能包含在单个包含<form>
标记的内容中,而是必须在单个<form>
中分隔出来。