2

我的网页上有一个网络表单。在用户离开页面之前,我想要一条 javascript 弹出消息,询问用户是否完成了带有“是”或“否”按钮的表单。如果用户单击“是”,那么他们将被带到他们打算去的页面。但是,如果用户单击“否”,则用户仍停留在该页面上。

我对 Javascript 不是很熟悉,因此非常感谢任何指导。我怀疑我会使用以下内容:

<ELEMENT onbeforeunload = "handler" ... >

提前致谢。

分裂P。

4

2 回答 2

4

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

话虽如此,看看这个页面,它会告诉你你需要知道的一切。

onbeforeunload 的古怪之处在于,如果您在事件处理程序中返回任何内容,它会弹出一个确认警报框,询问用户是否真的确定他们想要离开页面

...

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

<script type="text/javascript">
  window.onbeforeunload = function () {
    return "The text you want the alert box to say.";
  }
</script>
于 2010-08-10T16:26:52.827 回答
2

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 事件。

于 2010-08-10T16:34:41.870 回答