如何使用javascript在网页上进行多次提交

How to do multiple submits on webpage using javascript?

本文关键字:提交 何使用 javascript 网页      更新时间:2023-09-26

我的网页上有很多提交按钮。我试过这个:

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。