在Chrome中,如果单击window.confirm中的取消按钮,则不会触发关闭日动作(由后端驱动)。但是,在Firefox中,即使单击取消也会触发事件。两个浏览器都支持event.preventDefault,所以我不明白它为什么在Chrome中运行而不是Firefox。
我的Javascript
document.getElementById("closeDay").addEventListener("click", createAlert);
function createAlert(){
x = window.confirm("Are you sure?");
if(x === false){
event.preventDefault()
}
}
我的Html
<form method="POST" action="/closeDay" id="closeDay">
<input type="submit" value="Close Day" />
</form>
我已经尝试将id从表单移动到输入但是没有区别。为了以防万一,我还将我的js脚本移动到文件的底部,尽管这还没有解决问题。
答案 0 :(得分:1)
您需要将event
作为函数参数
function createAlert(event){
x = window.confirm("Are you sure?");
if(x === false){
event.preventDefault()
}
}