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