【问题标题】:HTML forms: Prevent leave page warning pop-up and reset form?HTML表单:防止离开页面警告弹出和重置表单?
【发布时间】:2014-01-06 14:09:43
【问题描述】:

我花了几天时间在我的网站上找到了一个表格。 但是,无论何时提交,它都不会重置,当我重新加载浏览器时,它会使用之前提交的数据再次发送表单。

我将如何阻止/防止这种情况?

我还想摆脱表单中写入任何数据时弹出的离开页面警告。这样即使有数据没有提交,用户也可以不弹窗离开页面。

该表格在此临时页面被注释掉:http://rikahiyuka.com/Template%20-%20index.php

(我没有太多时间输入这个问题,所以我以后可能会更改它)

【问题讨论】:

  • 我们需要一些代码来帮助您。
  • URL 中的空格是一种不好的做法,例如用破折号或下划线替换它们
  • 我知道应该避免空格。它仅在这种情况下使用,因为表单代码仅在那个搁置页面上(应该是未使用的/模板)但由于我在学校我无法更改文件名,因为我无法连接到我的虚拟主机。

标签: php jquery html css


【解决方案1】:

要在提交时清除表单,您可以在表单元素本身添加一些 Javascript,例如:

<form onsubmit="this.submit(); this.reset(); return false;">

为了防止页面退出时出现警告,您是否尝试过:

window.onbeforeunload = null;

【讨论】:

  • 太好了,非常感谢。 window.onbeforeunload = null;为我修好了。
【解决方案2】:

查看 JavaScript onbeforeunload event。它是 Microsoft 引入的非标准 JavaScript,但它适用于大多数浏览器,their onbeforeunload documentation 有更多信息和示例。

【讨论】:

    【解决方案3】:
    <form action="MAILTO:contact@rikahiyuka.com" method="post" enctype="text/plain">
    

    您不能 POST 到 mailto: 网址。您应该将操作设置为 PHP 页面,该页面会为您发送电子邮件。互联网上有很多 PHP 联系表单的示例。

    【讨论】:

    • 您可以将 method=post 与 mailto: URL 一起使用。它非常原始,但它甚至是 HTML5 CR 的一部分。而这个答案根本没有解决这个问题。
    • 这是可能的,但它只是将变量传递到电子邮件的正文中。这可能不是他想要的。
    猜你喜欢
    • 1970-01-01
    • 2019-09-03
    • 1970-01-01
    • 2020-09-16
    • 1970-01-01
    • 2017-09-24
    • 1970-01-01
    • 2015-08-01
    • 1970-01-01
    相关资源
    最近更新 更多