Javascript 是否可以使用不同的操作多次提交表单?

Javascript 是否可以使用不同的操作多次提交表单?,javascript,forms,Javascript,Forms,是否可以使用HTML中的不同操作多次提交表单。i、 e document.forms[0].action = "action1.do"; //It insert the data into database and redirect to other page in same tab. document.forms[0].submit(); document.forms[0].action = "action2"; // Its generate a report with data in

是否可以使用HTML中的不同操作多次提交表单。i、 e

document.forms[0].action = "action1.do";  //It insert the data into database and redirect to other page in same tab. 
document.forms[0].submit();

document.forms[0].action = "action2"; // Its generate a report with data inserted by action1 in new tab.
document.forms[0].target = "_blank";
document.forms[0].submit();
表单提交了两次,但问题是第二个表单在第一次完成之间提交


请帮助我如何确保第二次表单提交仅在第一次表单提交完成后进行。

您需要将表单提交作为ajax请求发送,并在发送时禁用表单。一旦请求响应您,然后在回调中启用表单/发送下一个请求/等等。

提交是异步的:如果您进行提交,JS将继续运行,浏览器将在后台执行操作。(但它会复制表单,所以是的,您可以安全地执行您所做的操作。)现在,如果您想等待第一个操作完成,然后提交第二个操作,您有几个选项,其中最优雅的是az AJAX调用,使用jQuery,类似于:

var formData = $("form").serializeArray();
$.post("http://whatever.xxx", formData, function() {
    //
    // here's your callback!
    // you want do the second submit here.
    //
});

在$.post()调用的回调函数中,进行另一个submit。问题已解决。

您让javascript拦截提交,然后将数据发布到多个脚本,但这样做似乎是错误的。我认为最好是正常发布到服务器上的一个脚本,让它执行多个任务,在此之前,请禁用该表单,并在收到响应时启用它。您为什么要提交两次?因为第一次我插入数据,第二次生成报告,在新选项卡中插入数据。您好,谢谢回复。我试过了,但它不起作用,因为我正在向我的操作发送多部分/表单数据。有一个答案。。。