我有以下情况:
第一个网页有一个提交给服务器的表单。服务器响应第二页。第二个页面有一个隐藏的表单,在表单加载时使用 javascript 提交,它将用户重定向到外部站点。
我的问题是:用户是否可以在第一页上两次提交第二个表单(在第一页的一个页面视图内)?
问题与这在实践中如何工作有关,我不需要替代方案。
我有以下情况:
第一个网页有一个提交给服务器的表单。服务器响应第二页。第二个页面有一个隐藏的表单,在表单加载时使用 javascript 提交,它将用户重定向到外部站点。
我的问题是:用户是否可以在第一页上两次提交第二个表单(在第一页的一个页面视图内)?
问题与这在实践中如何工作有关,我不需要替代方案。
我将忽略实践不应该用作生产解决方案的事实。
如果用户浏览器没有执行第二种形式的 onLoad() javascript 事件,那么您所要求的就不会发生。
与任何这样的解决方案一样,当两个事件几乎同时发生时,您永远无法 100% 确定客户端浏览器的行为,但我想说在大多数情况下,浏览器不会执行两次 onLoad() 事件。
您需要注意的是浏览器的后退按钮行为。这肯定会导致重新提交。
不,即使第一个表单被重复提交,第二个表单也只会加载一次。
第二个表格不可能发送两次。由于重定向到另一个页面,所有内容都是从头开始加载的。
我不确定您解决问题的方法是否正确,尽管您没有问这个问题,但请记住,用户可以使用 cmd/ctr 按钮多次单击按钮,并在新选项卡中多次打开带有表单的新页面。在这种情况下,您的表单将不止一次提交。