使用一个按钮提交多个表单

我正在使用$_SESSION为我的网上商店动态创建表单。 这些表单包含客户想要的产品的自定义信息。 这是布局:

第1页

客户填写看起来像这样的表单:

 

第2页

客户查看订单详细信息,并可选择添加更多产品。 客户返回第1页订购另一个。 所有客户的订单将以第2页的forms显示。

看起来像这样:

 Size: 1 Color: blue Click Here To Checkout Size: 2 Color:green Click Here To Checkout Size:3 color:red Click Here To Checkout 

我想要的是一个将所有订单添加到PayPal购物车的按钮。 当然,他们可以通过单击Click Here To Checkout单独添加每个订单,但是他们将不得不通过一个大循环来添加多个产品。

我希望客户能够添加尽可能多的产品,然后单击一个按钮将所有订单添加到购物车。

这是我尝试过但显然不起作用

  $(document).ready(function(){ $('#clickAll').on('click', function() { $('input[type="submit"]').trigger('click'); }); });  

这是使用$_SESSION生成动态表单的php脚本

  $_POST['size'], 'color' => $_POST['color'], 'submit' => $_POST['submit'] ); $_SESSION['testing'][] = $test; endif; if(isset($_SESSION['testing'])) : foreach($_SESSION['testing'] as $sav) { ?> 
<input type="text" name="size" value=""> <input type="text" name="color" value="">

所以问题是,我如何用一个按钮提交所有表格?

你试过用$ .ajax做的吗? 您可以添加foreach,或在Onsucces函数上调用另一个表单。 另一种方法是使用指向正确“抽象”forms的数组将所有更改为一个表单:

 

在PHP中:

 foreach ($_POST['name'] as $key => $value) { $_POST['name'][$key]; // make something with it $_POST['example'][$key]; // it will get the same index $key } 

这是一个有效的jsFiddle: http//jsfiddle.net/SqF6Z/3/

基本上,为每个form添加一个class ,并trigger() class的提交。 像这样:

HTML(仅限示例):

 

jQuery的:

 $('.myForms').submit(function () { console.log(""); return true; }) $("#clickMe").click(function () { $(".myForms").trigger('submit'); // should show 3 alerts (one for each form submission) }); 

FWIW,我这样做是通过创建一个iframe,使得第二个表单的目标然后像这样提交

 //create the iframe $(' 

并创建这样的双提交:

 function dualSubmit() { document.secondForm.target = 'phantom'; document.secondForm.submit(); document.firstForm.submit(); } 

作品!

首先创建循环获取所有表单id并将它们发送到ajax。

  

创建按钮以按顺序提交

 Save & Close 

然后在成功后停止ajax调用。也不要忘记登录到控制台。

所有ajax完成后,此代码在弹出窗口和关闭弹出窗口中起作用。