【问题标题】:How do I prevent the browser from going to another page after submitting?提交后如何防止浏览器跳转到另一个页面?
【发布时间】:2012-01-19 23:02:44
【问题描述】:

我有一个表单,用户输入数据并上传图片,当用户点击提交时,浏览器会转到“确认页面(实际上是空白)”,我宁愿弹出确认消息,当用户点击确定刷新页面。

有什么想法吗?

一些细节: 首先,用户在文本字段中输入数据并选择要上传的文件

当用户点击“提交按钮”时,会弹出一个确认页面,用户可以点击“确定”或“取消”

如果使用点击“确定”,则调用servlet处理表单数据,包括用户要上传的文件,如果表单提交成功则弹出“成功”

我的好像每次都进入空白确认页面,没有成功弹出

【问题讨论】:

  • 你可以用 JavaScript 做到这一点。将表单操作设为 JavaScript 代码,该代码会弹出警告框以确认提交,然后重定向到您所在的同一 URL。

标签: javascript form-submit


【解决方案1】:

您将通过 ajax 而不是通过表单提交来提交。 ajax 调用完成后,您可以在页面中做任何您想做的事情(显示弹出窗口),然后转到另一个页面。

【讨论】:

  • @JoeChen - 我不清楚您希望它如何工作。请详细说明您希望执行步骤的确切顺序。包括以下所有步骤:用户输入数据、验证数据、提示用户确认、将表单提交到服务器,然后描述完成后应该显示的内容。另外,您可以使用像 jQuery 这样的库还是必须是纯 javascript?
  • 更具体地说,您知道当您上传文件并单击提交时,它通常会转到另一个网页,我希望它刷新页面而不是转到另一个网页..
【解决方案2】:

如果将表单的action 属性设置为空,例如

<form action="">

表单将提交到同一页面。

您可以选择检索表单元素中的值,而无需实际提交表单,然后处理它并显示您的确认消息,然后刷新或转到另一个页面。

【讨论】:

  • 这听起来不错,老实说我不知道​​我可以设置action="",我试试谢谢!!!
  • 你能解释一下关于在不实际提交表单的情况下检索值的更多信息吗?
  • 您可以使用“document.form_name.username.value”。它将返回在 name = 'username' 的表单元素 (type='text') 中输入的值。记得给你的表格起个名字。 Jquery 让 javascript 变得更容易。
  • 我实际上只是决定在 iframe 不可见的地方设置 target='ifram' 哈哈,我猜似乎工作正常 =/
猜你喜欢
  • 2012-03-25
  • 1970-01-01
  • 1970-01-01
  • 2019-10-25
  • 1970-01-01
  • 2011-05-08
  • 2017-06-01
  • 1970-01-01
相关资源
最近更新 更多