如何在javascript中设置延迟,以便表单可以提交

如何在javascript中设置延迟,以便表单可以提交,javascript,forms,Javascript,Forms,我用javascript制作了一个表单,并在那里发布。 但在表单提交之前,页面会再次重新加载。 当我在form.submit()之后插入警报时;然后让表单提交 这是密码 myfunction: function { var form = document.createElement("form"); product = document.createElement("input"); product.value = JSProduct; product

我用javascript制作了一个表单,并在那里发布。 但在表单提交之前,页面会再次重新加载。 当我在form.submit()之后插入警报时;然后让表单提交

这是密码

 myfunction: function {

     var form = document.createElement("form");
     product = document.createElement("input");
     product.value = JSProduct;
     product.name = "Product";
     form.action = "myForm.aspx";
     form.method = "post";
     form.appendChild(product);
     document.body.appendChild(form);
     form.submit();
  }
在表单可以发布之前,页面会再次重新加载,但是如果我在form.submit()之后添加了警报,它会正常工作并重定向到下一页,否则如果我不添加警报,它会重新加载同一页面。
因此,我认为提交表格需要时间,所以我想问您,在提交表格后,我是否知道如何保持或延迟某些时间


谢谢

在提交表单后使用setTimeout函数

setTimeout(function(){var x="2 seconds"},2000);

我编辑了您的代码并添加了“setTimeout(function(){alert(“Hello”)},2000);”函数,该函数在2秒后运行。你可以改变它的间隔

myfunction: function {

 var form = document.createElement("form");
 product = document.createElement("input");
 product.value = JSProduct;
 product.name = "Product";
 form.action = "myForm.aspx";
 form.method = "post";
 form.appendChild(product);
 document.body.appendChild(form);
   setTimeout(function(){
       form.submit();
     },2000);

}
希望它能有所帮助。
告诉我它是否工作。

检查按钮请求返回值,如下所示:

<input type="button" onclick="javascript: return myfunction()">

作为函数的结尾。

因为这都是一个javascript,每个按钮和我调用这个函数的按钮都是一样的

 <form >
   ...
   <Button id="something" onclick="myfunction()" />
   ...
 </form>

...
...
像这样的

因此,我在myFunction()中创建的表单是嵌套表单,这是造成问题的原因,因为它的父表单正在发布,并且该表单上的操作是相同的页面

因此,我必须将按钮更改为锚定标记,并且不允许父表单提交。 或者我们也可以更改button type=button而不是submit,这样当myFunction()执行内部表单时,就可以在表单上发布。submit()。

我知道这很愚蠢,但这种事经常发生。
谢谢大家的帮助。

“我认为提交表格需要时间”-我不认为这里是这样的。那么你能告诉我我缺少的主要问题是什么吗?你能做一把小提琴吗。我在这里没有看到任何问题。谢谢问题解决了谢谢你们的帮助:)请编辑评论并在这里添加答案。所以其他人可以得到帮助。不,我的buton也在脚本中,我在该函数中调用一个函数,我正在构建一个表单,并在该函数结束之前提交该表单
 <form >
   ...
   <Button id="something" onclick="myfunction()" />
   ...
 </form>