在页面中重新加载表单时,是否可以阻止/避免警报?

时间:2011-11-21 05:44:25

标签: javascript html forms

我的页面中有一个简单的表格,如图所示。

有没有办法避免警报?我发现它很烦人,在我的情况下,如果我重新加载表单,我不会丢失任何重要信息。

Are you sure you want to reload the page

<form name="theForm" method="get"> <!-- Changed from "post" to "get" but alert keeps showing -->
Start Point     ( 
<input type="text" name="pt0x" size="4" onkeydown="keyDownPt(event, document.theForm.pt0x.value, 0, 'x')"/>,
<input type="text" name="pt0y" size="4" onkeydown="keyDownPt(event, document.theForm.pt0y.value, 0, 'y')"/> ); </br>
...
</form>

我没有“发送”按钮,因为我更新了我的onkeydown事件。这可能是原因吗?

3 个答案:

答案 0 :(得分:2)

在表单标记而不是POST上使用GET作为方法。

由于POST用于将数据“上传”到服务器,因此浏览器会正确地警告用户重新发布表单,但如果您只是获取数据,浏览器会认为这是重复的安全操作。

编辑:我误读了问题中的对话框。这不是关于重新发布,而是关于丢弃表单数据...无论如何都尝试使用GET而不是POST(如果你还没有这样做),看看它是否有任何影响。

EDIT2 :如果是使用javascript禁用它的任何简单方法(用户可能在浏览器中禁用),我会感到惊讶,因为它提醒您即将丢弃数据。如果用户想要重新加载页面,浏览器会警告表单将被丢弃,但用户可以将其解除。

无论如何,这不应成为问题。如果由于某种原因需要重新加载应用程序以供实际生产使用,请尝试重写程序以便在不重新加载的情况下工作(因为这可能会导致浏览器重新下载代码)。例如。如果您只想重新加载以重置表单,只需添加一个重置按钮。

答案 1 :(得分:1)

由于你实际上没有对它做任何事情,你可以完全摆脱这个形式。

编辑完整性:不使用表单标签是完全有效的HTML,并验证为HTML4严格,HTML5和XHTML过渡。 W3C验证器为here

答案 2 :(得分:0)

我想我会尝试停用提交按钮,因为您并不打算首先发布数据。

这样做的简单(和丑陋)方法是在表单的onsubmit处理程序中添加一个错误的返回状态,如下所示:

<form onsubmit="return false;">

好运!