我的网页上有一个网络表单。在用户离开页面之前,我想要一条 javascript 弹出消息,询问用户是否完成了带有“是”或“否”按钮的表单。如果用户单击“是”,那么他们将被带到他们打算去的页面。但是,如果用户单击“否”,则用户仍停留在该页面上。
我对 Javascript 不是很熟悉,因此非常感谢任何指导。我怀疑我会使用以下内容:
<ELEMENT onbeforeunload = "handler" ... >
提前致谢。
分裂P。
我的网页上有一个网络表单。在用户离开页面之前,我想要一条 javascript 弹出消息,询问用户是否完成了带有“是”或“否”按钮的表单。如果用户单击“是”,那么他们将被带到他们打算去的页面。但是,如果用户单击“否”,则用户仍停留在该页面上。
我对 Javascript 不是很熟悉,因此非常感谢任何指导。我怀疑我会使用以下内容:
<ELEMENT onbeforeunload = "handler" ... >
提前致谢。
分裂P。
我不确定这是别人要求你做的事情,还是你认为是个好主意的事情,但我想说,如果你有选择,请不要这样做。如果用户想离开页面,让他们离开页面而不告诉他们他们已经知道的事情。此外,一些现代浏览器已经内置了此功能,因此它只是为用户增加了另一层烦恼。
话虽如此,看看这个页面,它会告诉你你需要知道的一切。
onbeforeunload 的古怪之处在于,如果您在事件处理程序中返回任何内容,它会弹出一个确认警报框,询问用户是否真的确定他们想要离开页面
...
您可以通过在 return 语句中包含一个字符串来在这两行之间插入您自己的解释性文本。例如:
<script type="text/javascript">
window.onbeforeunload = function () {
return "The text you want the alert box to say.";
}
</script>
2 1 件事(感谢@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 事件。