3

我想在使用 javascript 按下提交按钮后禁用它。

myForm.onsubmit = function() { ... mySubmitButton.disabled = true; ... }

但是当用户在当前页面仍然存在的情况下停止打开新页面时,该按钮仍处于禁用状态。

如果来自服务器的内容是一个文件,也会有同样的结果(在这种情况下不会重定向到新页面)。

有没有办法确定浏览器是否不再“想要”加载新 URL 并重新启用 mySubmitButton?

4

2 回答 2

1

如果你真的需要在客户端做这件事,有几种方法可以做到这一点:

  1. 如果用户决定再次编辑,例如单击任何表单字段,请尝试重新启用该按钮。

  2. @Adilson 所说的, setTimeout 也是一个很好的解决方案,您无需等待几秒钟即可知道出了什么问题。

  3. 您还可以使用 jQuery ajax 调用提交表单,如果提交失败,该调用可以返回重新启用按钮的命令。

我相信还有更多的解决方案。我希望这三个能给你一个想法来解决你遇到的问题。

于 2011-03-24T11:35:03.557 回答
1

我认为您可以使用 setTimeout 调用重新启用按钮的函数。超时必须是一个合理的值,比如 5000 (5s)。我不记得 setTimeout/Interval 调用是否在页面重定向后执行,所以,先测试一下。

于 2011-03-07T03:49:12.860 回答