使用jQuery一个接一个地提交表单?

如何设置自动队列系统来一个接一个地运行多个提交? 我不希望他们立刻提交,或者它可能会破坏我的后端PHP脚本。

这是一个简单的例子,假设每个表单可以独立提交,主提交将运行所有表格。

 

更新:

我正在处理的脚本是备份多个网站的FTP文件和MySQL转储的工具 – 本质上是一个Web管理员的自动备份工具。

每个表单包含连接到每个站点的FTP和MySQL的值,PHP函数在本地复制和存储文件并创建MySQL转储。

每个站点复制文件可能需要20多分钟,因此我们的想法是创建一个“主按钮”,以便一个接一个地自动执行每个备份。

你可以尝试这个jQuery示例。 我是在飞行中对它进行编码的,所以它没有经过测试 – 但是你得到了我正在尝试做的事情。

     
 $("#submit_all").click(function(){ $("#form-1").submit(); $("#form-2").submit(); $("#form-3").submit(); }) 

也许你更好地重新设计你的应用程序(正面/背面)?

 

要做到这一点,你会设置一些简单的javascript,这只是一系列的提交。 它会是这样的:

 function submitAll() { document.forms["form-1"].submit(); document.forms["form-2"].submit(); document.forms["form-3"].submit(); } 

显然,您可能需要对流程进行调整,因为提交表单将停止执行javascript。

我同意其他答案,这似乎是代表您的逻辑错误,您应该考虑整合表单而不是抹灰问题。

如果一个表单依赖于另外两个表单,听起来它们实际上是同一表单的一部分,后端应该只找出那个巨型表单的哪些部分(具有不同的数据集,但对于一种表单)是必要的。 在类似的说明中,最好不要单独依赖javascript,因此这样做可以为您提供自动更强大的解决方案。

更新如果您有多个只是共享数据的表单(比如它们可以更改form3和form2上需要的form2上的数据),那么将这些共享内容放在隐藏元素中并保留表单会更稳定,尤其是在validation时分离。 让用户输入将被提交和使用的数据然后将其从视图中隐藏起来并不是最佳的,因为他们可以更容易地输入错误(他们不能轻易地审查,他们可能不理解它将全部提交)。 使用 s来共享信息可以减轻这种情况,因为它们无法意外地更改它。 (或者将它存储在会话中或者你喜欢的任何地方。点是,防止他们改变你将依赖的信息,他们不能轻易发现错误。)

表单元素在您提交时返回一个值(true / false)。

从这里