Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
提示用户在离开网页之前填写表单-通过Javascript_Javascript_Onbeforeunload - Fatal编程技术网

提示用户在离开网页之前填写表单-通过Javascript

提示用户在离开网页之前填写表单-通过Javascript,javascript,onbeforeunload,Javascript,Onbeforeunload,我的网页上有一个web表单。在用户离开页面之前,我需要一条javascript弹出消息,询问用户是否已使用“是”或“否”按钮完成表单。如果用户单击“是”,则他们将被带到他们打算进入的页面。但是,如果用户单击“否”,则用户将保留在此页面上 我对Javascript不是很熟悉,所以非常感谢您的指导。我怀疑我会使用以下内容: <ELEMENT onbeforeunload = "handler" ... > 提前谢谢 拆分p.我不确定这是别人要求你做的事情,还是你认为这是个好主意,但

我的网页上有一个web表单。在用户离开页面之前,我需要一条javascript弹出消息,询问用户是否已使用“是”或“否”按钮完成表单。如果用户单击“是”,则他们将被带到他们打算进入的页面。但是,如果用户单击“否”,则用户将保留在此页面上

我对Javascript不是很熟悉,所以非常感谢您的指导。我怀疑我会使用以下内容:

<ELEMENT onbeforeunload = "handler" ... >

提前谢谢


拆分p.

我不确定这是别人要求你做的事情,还是你认为这是个好主意,但让我说,如果你有选择,请不要这样做。如果用户想离开页面,让他们离开页面而不告诉他们已经知道的事情。此外,一些现代浏览器已经具备了这一功能,因此它只是为用户添加了另一层烦人的内容

话虽如此,看看,它会告诉你你需要知道的一切

onbeforeunload的奇怪之处在于,如果您在事件处理程序中返回任何内容,它将弹出一个确认警报框,询问用户是否确实希望离开页面

通过在return语句中包含字符串,可以在这两行之间插入自己的解释性文本。例如:


window.onbeforeunload=函数(){
返回“您希望警报框显示的文本。”;
}
21件事(谢谢@horray我在帮忙)

最好检测表单是否以编程方式填写,然后如果用户单击继续而不提供关键数据,请向他们索取。如果他们决定不提供,就让他们去吧

例如:

var requiredField = document.getElementById("required");
if (requiredField.value == "")
{
    if (!confirm("Are you sure you want to go without saving your work?")){
       requiredField.focus();
    }
}

您可以将其放入链接的单击处理程序、提交按钮或您提到的beforeunload事件中

+1。这就是我将要说的话,我需要做的是收集数据。因为我在一个已经开发的网站上做这件事。谢谢你的意见@罗布,我相信在这种情况下,网站设计师会得到最好的服务。有趣的是,在这种情况下,这个小“怪癖”实际上对我有利。谢谢。阻止用户离开询问他们是否想离开只会激怒他们。
var requiredField = document.getElementById("required");
if (requiredField.value == "")
{
    if (!confirm("Are you sure you want to go without saving your work?")){
       requiredField.focus();
    }
}