1

我有一个代码可以在除 Firefox 之外的大多数浏览器上运行。这是从提交表单启动的。我只想将“同意”视为真实,然后在接受时关闭窗口。如果我删除结束参数将在 FF 和 Chrome 上正确执行。

<script type="text/javascript">
function confirmSubmit() {
    var agree = confirm("¿Estas seguro de anular esta reserva?");
    if (agree) {
        window.parent.close();
        return true;
    } else {
        return false;
    }
}
</script>

问题是 if (1. window.parent.close() 2. return true) 中有两个选项,但是 window.close() 在两个浏览器上都可以正常工作。提前致谢

4

2 回答 2

0

我终于把它整理出来了。其实我打电话给

window.parent.close();

绘制表单时结果div的确认。所以最初的脚本最终是这样的:

function confirmSubmit()
{
var agree=confirm("¿Are you sure?");
if (agree) {
   return true;
}
else{
    return false ;
}
}

感谢您的所有帮助和回复。

于 2013-08-28T15:46:31.373 回答
0

false有时返回作品。一个更好的方法,是明确告诉事件阻止默认动作。这是一个使用 addEventListener 的示例。

document.getElementById("form").addEventListener("submit", confirmSubmit);

function confirmSubmit(e) {
    var agree = confirm("¿Estas seguro de anular esta reserva?");
    console.log(agree);
    if (agree) {
        window.parent.close();
    } else {
        e.preventDefault();
    }
}

还要注意fireFox 的 Close Parent 窗口中的答案

于 2013-08-27T14:28:31.790 回答