Php Javascript动态表单提交

Php Javascript动态表单提交,php,javascript,webforms,Php,Javascript,Webforms,我试图写一个脚本,将提交在一个页面上的所有个人表格。 我首先计算表单的数量,然后使用该数量遍历每个表单并提交它 在PHP页面上,每个表单都是这样写的: <form name="order_driver_'.$j.'" class="order_container" id="save_'.$j.'"method="post" action="../scripts/order_driver_save.php"> 我的问题在提交部分: document.order_driver_ + c

我试图写一个脚本,将提交在一个页面上的所有个人表格。 我首先计算表单的数量,然后使用该数量遍历每个表单并提交它

在PHP页面上,每个表单都是这样写的:

<form name="order_driver_'.$j.'" class="order_container" id="save_'.$j.'"method="post" action="../scripts/order_driver_save.php">
我的问题在提交部分:

document.order_driver_ + count.submit();
我无法将
变量计数
连接到
.order\u驱动程序


我想知道如何做到这一点,这样我就可以在循环中指定要提交的每个表单名称。

如果希望所有表单都提交,则必须通过AJAX提交,因为一旦提交一个表单,浏览器就会按照请求进行操作,并刷新页面。所以即使你让它连接起来,它也只会提交第一个

更新

虽然我知道建议您使用jquery可能会让我大吃一惊,但我认为在这种情况下,它大大简化了您需要做的事情

如果您使用,此代码将实现您的目标


请注意,您将不会收到关于它们已提交的确认。

注意:您必须将调用彼此分开,否则页面将移动到提交的目标。Ajax调用或使目标位于新窗口中

更改它以获取元素并提交该元素:

function count_form(){

//Count the amount of outputs
var count = $(".order_container").size();

//Run loop for reults
for(count=count;count>0;count--){

    //var save='order_driver_'+count;

    document.getElementById("order_driver_" + count).submit();



}
}

+1:回答了他的问题,但不幸的是,这将我们带到了他真正问题的关键:一次提交多个表单。您可以使用:
for(;count>0;count--)稍微简化该循环{
干杯。我很困惑。提交每个表单是如何循环的?它应该包含在for语句中吗?抱歉,是的,部分内容将学习jQuery的工作方式,
$('form')
选择页面上的所有表单标记,因此此代码将把事件附加到所有表单标记上,然后单击
$('submit button'))
(id为
提交按钮的任何内容)它将提交所有表单元素。
// #submit-click being whatever you want to initiate the mass form submit
$('#submit-button').click(function() {
    $('form').submit();
});

//form submit event handler
$('form').submit(function() {
    //get the form and serialize it's data
    var form = $(this);
    var data = form.serialize();

    //submit via AJAX
    $.post(form.attr('action'), data);

    //prevent the default action of submit
    return false;
});
function count_form(){

//Count the amount of outputs
var count = $(".order_container").size();

//Run loop for reults
for(count=count;count>0;count--){

    //var save='order_driver_'+count;

    document.getElementById("order_driver_" + count).submit();



}
}