Php Javascript动态表单提交
我试图写一个脚本,将提交在一个页面上的所有个人表格。 我首先计算表单的数量,然后使用该数量遍历每个表单并提交它 在PHP页面上,每个表单都是这样写的: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
<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();
}
}