运行submit()两次以立即提交到不同的表单

时间:2014-06-13 13:31:26

标签: javascript jquery django forms

我有以下两种形式

<form id="form1" method="post" action="">
    <input type="text" name="field1">
</form>

<form id="form2" method="post" action="">
    <input type="text" name="field2">
    <input type="submit" id="save" name="submit" value="Save">
</form>

这两种形式在页面上的非常相反和无关的位置。我希望能够在保存命中的同时提交它们。我也知道save只适用于第二种形式,但它是这样的,因为我被指示在创建了field2的表单之后添加上面的表单。我会纠正它。

我的js是以下

$('#save').on('click', function(event){
    form1 = $("#form1");
    form2 = $(#"form2");
    event.preventDefault() //Some other checks happen before submission that's why I am preventing it
    //Checks

    form2.submit();
    form1.submit();
});

但是在我的后端只有field1在request.POST(django)字典上。我相信因为我提交了第二个。当我只需提交一个(form2)时,一切正常。但我无法做到这两点。如何同时提交两种不同的表格?

2 个答案:

答案 0 :(得分:1)

对于此特定实例,您可以像:

一样发送它
$('#save').on('click', function(event){
     event.preventDefault();
     var form = $('<form method="post"></form>'); 
     $(form).append($('#field1'));
     $(form).append($('#field2'));

     $(form).appendTo('body');

     $(form).submit();

});

答案 1 :(得分:0)

如果两个表单具有相同的操作,您是否无法将所有字段包装在一个<form>标记内?

这样,您可以同时从两个表单中提交字段,而不需要在另一个答案中提出JS。