使用单个提交提交多个动态生成的表单

时间:2014-03-05 03:49:50

标签: javascript php jquery ajax

所以我有3个表格。每个代表一年中的四分之一。表格1是上一季度,表格2表示季度,3表示未来季度。

这些表单中的每一个都是for循环,意味着显示表单3次(每月一次)。因此,在一天结束时,我想提交9种表格。所以现在这就是我所拥有的。

php while loop to iterate through campaign ids stored in mysql
{
<input type=submit>
<div id="past">
   for each month in past quarter
   {
       Form goes here
   }
</div>
<div id="present">
   for each month in past quarter
   {
       Form goes here
   }
</div>
<div id="future">
   for each month in past quarter
   {
       Form goes here
   }
</div>
}

while循环生成用户可以选择的ID,一旦选择了表单UI,他们可以在四分之一之间进行选择并填写相应季度中每个3个月的日期。

所以现在我有这3个div,每个生成3个表单(所有相同的表单)。您可以在它们之间切换,并且所有布局/格式都可以。

我的问题是如何提交。我想要一个提交按钮将9个表单中的每个表单中的所有值发送到另一个php文件,然后将这些值写入我的数据库中的表。

我不知道如何使用php / javascript / ajax进行此操作。或者,如果有更好的方式,我很乐意听到它。

谢谢,

1 个答案:

答案 0 :(得分:0)

嗯,你不能使用完整的提交b / c提交一个表格将阻止其他人提交。因此,假设每个都有适当的操作集,您可以使用jQuery提交Ajax。

var forms = $('form');
$.each(forms, function(index, item) {
    var $item = $(item);
    var action = $item.attr('action');
    var postBody = $item.serialize();
    $.post(action, postBody).done(function (response) {
        // do something with response 
    });
});