如何使用javascript在网页上进行多次提交
How to do multiple submits on webpage using javascript?
我的网页上有很多提交按钮。我试过这个:
javascript:var x=document.getElementsByTagName("input");
for(var i=0;i<x.length;i++) {
if (x[i].type == 'submit') {
x[i].click();
}
};
它开始提交,但速度非常快。 或者很多时候,我的网页冻结了。我想在每次提交之间有一个暂停或睡眠。我也在谷歌上搜索并阅读了很多堆栈溢出中的线程。JavaScript 没有暂停或睡眠。有一些替代方案,如超时,但许多人建议不要使用它。我明白,试图在两者之间暂停或睡觉不是一个好主意。
所以,我现在没有想法了。我将如何逐个进行多次提交?谁能给我正确的方向?提前谢谢。
尝试以
小延迟,50 毫秒左右
javascript:var x=document.getElementsByTagName("input");
for(var i=0;i<x.length;i++) {
if (x[i].type == 'submit') {
setTimeout(function() {
x[i].click();
}, 50);
}
};
除非您非常幸运,否则这不起作用。每次提交都会导致页面重新加载。如果再次提交的速度过快,则第一页加载将中止,这可能意味着任何关联的处理要么被放弃,要么仅部分完成。您需要等待每次提交完成,然后再发送下一次提交,或者将所有数据发送到一个块中。
添加任意延迟(例如 50 毫秒(有时可能就足够了,但在其他情况下,它会不必要地长,或者不够长。
或者,您可以使用 AJAX 发送数据,等待每个响应。这会更可靠,但由于每次提交都需要往返加上处理时间,因此提交的总时间可能会从 100 毫秒增加到 1.5 到 2 秒。
将其与单个提交进行比较,其中所有数据都可以在第一次提交中发送 - 100ms。
相关文章:
- 表单中的数据不会传递给提交函数-使用Angular
- 如何在提交前使用javascript更改隐藏的输入值
- jquery表单提交无法使用多个输入(IE和Firefox)
- 在初始表单提交后使用ajax/jQuery自动刷新,然后更改页面标题
- 在AJAX提交之前使用jQuery进行多重下拉选择验证
- 在提交和处理PHP代码后禁用提交按钮(使用AJAX提交?
- 当输入类型为“”时如何提交表单;提交”;使用javascript的内部表单
- 如何在提交时使用 Jquery 从文本输入框中删除用户输入
- 如何使 HTML5 上传进度条与输入类型提交一起使用
- 在表单提交时使用 URL 发送路由参数
- 在表单提交时使用 jQuery 发送帖子数据
- 点击提交按钮使用javascript和Firefox
- 如何在实际提交之前使用标准提交事件和jquery删除/增强/更改表单提交数据
- 如何在表单提交后使用 JavaScript 打开模态
- 如果值为null,请在提交前使用js或jQuery更改输入文本值
- 如何在提交时使用jQuery替换表单中的信息
- 替换/编码<并且>在提交之前使用jquery/ajax
- 仅在提交时使用 javascript 保存表单状态
- 在提交时使用JavaScript重定向表单插件
- 如何在iframe表单提交后使用submit() jquery调用函数