Javascript 如何收集对话框的值
我在Javascript 如何收集对话框的值,javascript,jquery,javascript-events,dialog,Javascript,Jquery,Javascript Events,Dialog,我在窗口关闭事件上显示一个警告对话框。如果用户单击取消控件保持在同一页面上,或者如果用户单击确定他将被导航到所需页面。 我想收集对话框的值意味着用户是否单击了Cancel或ok $(document).ready(function() { window.onbeforeunload = askConfirm; function askConfirm() { if (flag) {
窗口关闭
事件上显示一个警告对话框。如果用户单击取消
控件保持在同一页面上,或者如果用户单击确定
他将被导航到所需页面。我想收集对话框的值意味着用户是否单击了
Cancel
或ok
$(document).ready(function()
{
window.onbeforeunload = askConfirm;
function askConfirm()
{
if (flag)
{
// Message to be displayed in Warning.
return "Your unsaved data will be lost.";
}
}
}
如何收集价值
<script type="text/javascript">
window.onbeforeunload = function (evt) {
return "Are you sure to close?";
}
</script>
window.onbeforeunload=函数(evt){
返回“您确定要关闭吗?”;
}
示例代码
编辑
在窗口关闭时从用户处获取响应代码
<body onUnload = "CheckIt ()" >
...
</body>
<script>
function CheckIt ()
{
var response = confirm ("Are you closing..");
alert (response); // do whatever for response.
}
</script>
...
函数CheckIt()
{
var response=确认(“您是否正在结账”);
警报(响应);//为响应做任何事情。
}
window.onbeforeunload=函数(evt){
返回“您确定要关闭吗?”;
}
示例代码
编辑
在窗口关闭时从用户处获取响应代码
<body onUnload = "CheckIt ()" >
...
</body>
<script>
function CheckIt ()
{
var response = confirm ("Are you closing..");
alert (response); // do whatever for response.
}
</script>
...
函数CheckIt()
{
var response=确认(“您是否正在结账”);
警报(响应);//为响应做任何事情。
}
缺失);在你的代码末尾,谢谢安德烈:)我使用了Ctrl+Shift+k
.missing);在你的代码末尾谢谢Andrey:)我使用了Ctrl+Shift+k
。我使用了相同的代码。现在我想获取对话框的值
,我想知道用户是单击了好的
还是取消
。如果你想获取值(而不是取消关闭请求),可以通过表单的onUnload事件轻松完成。参见编辑的code@Ajay:谢谢你的建议。我试过了,但它还是会关闭窗口。我想做的是,如果用户单击OK
窗口应该关闭/导航。当用户单击Cancel
时,应执行某些操作,并且控件应保持在同一页面上。您需要返回response
中保存的布尔值,该值对应于他们在确认对话框中单击的选项<代码>确定=真
和取消=假
。您可能还想在onbeforeuload
事件上调用代码,而不是在onunload
事件上调用代码。@Ajinkya实际上我自己很快就去测试了,但有几个问题。首先,当前大多数浏览器(可能全部——我只测试了FF4和IE9)都有自己的对话框,当有onbeforeunload事件处理程序时,它们会显示这些对话框,从我所做的一点研究来看,似乎没有办法阻止这一点。如果您对两个对话框感到满意,您可以使用自己的确认对话框,根据结果进行一些处理,返回几乎所有内容,然后让默认浏览器对话框处理从当前页面导航或停留在当前页面上的操作。我使用了相同的代码。现在我要获取对话框
的值,我想知道用户是否单击了OK
或Cancel
。如果您想获取值(而不是取消关闭请求),可以通过表单的onUnload事件轻松完成。参见编辑的code@Ajay:谢谢你的建议。我试过了,但它还是会关闭窗口。我想做的是,如果用户单击OK
窗口应该关闭/导航。当用户单击Cancel
时,应执行某些操作,并且控件应保持在同一页面上。您需要返回response
中保存的布尔值,该值对应于他们在确认对话框中单击的选项<代码>确定=真
和取消=假
。您可能还想在onbeforeuload
事件上调用代码,而不是在onunload
事件上调用代码。@Ajinkya实际上我自己很快就去测试了,但有几个问题。首先,当前大多数浏览器(可能全部——我只测试了FF4和IE9)都有自己的对话框,当有onbeforeunload事件处理程序时,它们会显示这些对话框,从我所做的一点研究来看,似乎没有办法阻止这一点。如果您对两个对话框感到满意,您可以使用自己的确认对话框,根据结果进行一些处理,返回几乎所有内容,然后让默认浏览器对话框处理离开/停留在当前页面的导航。