关闭弹出窗口时提交表单
Submitting a form when a popup is closed
我写了一个代码来显示测验列表,当选择一个测验时,会弹出一个新窗口并运行在线测验。问题是,当窗口关闭时,计时器应该过期,即表格应该在窗口关闭之前提交。生成新窗口的代码如下:
var radios = document.getElementsByName("quizname");
var flag=0;
for (var i = 0; i < radios.length; i++)
{
if (radios[i].checked)
{
flag=1;
var x=radios[i].value;
var z=radios[i].value;
break;
}
}
if(flag==0)
{
alert("Choose an option!!");
exit;
}
var x="http://127.0.0.1/example/timedrunquiz.php?y="+x;
var win=window.open(x,z,"fullscreen=yes,scrollbars=yes");
win.focus();
我用过win.onbeforeunload
但无法完成任务。在关闭之前,我应该怎么做才能提交表格?提前感谢!
不确定这是否是正确的方法。窗口上应该有一个提交按钮,其中包含一个侦听器,可以在提交完成后调用win.close();
。
现在,为了确保用户确实提交了任何内容,您应该使用win.onbeforeunload
来请求确认用户是否真的要关闭页面,如下所示:
win.onbeforeunload = function() {
return confirm('Do you really want to exit? All your progress would be lost');
}
如果你想在
关闭之前提交表单,你可以使用 ajx 提交表单
function callback()
{
$.ajax({
type: "POST",
url: "yourUrl",
data: 'YourData',
});
return "You are about to leave this page";
}
win.onbeforeunload = callBack;
相关文章:
- Jquery提交表单而不刷新
- 如何在提交表单时将PHP变量传递到Javascript cookie中
- 每次提交表单时都会重新加载网页
- Razor中的自动提交表单
- 使用 JavaScript 自动提交表单
- 点击相同的按钮打开模型,然后提交表单
- 添加和删除隐藏字段数组中的值,而不提交表单
- 使用Ajax提交表单
- jQuery:使用“jQuery验证”后无法提交表单's远程验证
- 如何在不重新加载的情况下提交表单,并使用Node+Express将数据传递回同一页面
- 有登录表单时无法提交表单
- 带有select的jquery提交表单不起作用
- 如何防止回车键提交表单,但仍然允许回车工作
- 使用按钮和单选按钮提交表单,但始终使用相同的值
- 在提交表单之前确定重复值
- 如何创建动态ajax提交表单
- HTML提交表单,同时包含空字段检查和按钮隐藏
- 如何使用jQueryAjax使用动态html输入texbox提交表单
- 当触发下拉列表的onchange事件时,使用JavaScript提交表单
- 提交表单后,Watir文本框输入未持续(重置为以前的文本框输入)