繁体   English   中英

阻止用户重新提交表单/也停止刷新

[英]stop user from resubmitting a form / aka stop from refreshing

我试图阻止用户刷新包含表单的页面。 基本上,我想阻止用户按Ctrl + RF5Ctrl + F5

可以说我有以下

<form action="#">
<input type="text"  /> 
</form>

和下面的js代码

<script>
document.onkeydown = function() {
    switch (event.keyCode) {
        case 116 : //F5 button
            event.returnValue = false;
            event.keyCode = 0;
            return false;

        case 82 : //R button
            if (event.ctrlKey) {
                event.returnValue = false;
                event.keyCode = 0;
                return false;
            }
    }
}

</script>

Chrome似乎有点停滞不前。 但是,在Firefox上仍然可以按F5 有什么方法可以阻止用户重新提交表单/也可以阻止刷新

覆盖这些功能是一个非常糟糕的主意。 这不是JavaScript可以正确执行的。 您需要让刷新发生,并使用onbeforeunload事件:

看到这个重复的问题:

有没有办法覆盖刷新按钮操作?

还有这个:

有没有办法使用Java脚本在IE上捕获/覆盖Ctrl-R或F5?

使用它来捕获您想要的内容:

window.onbeforeunload = function(){
     //de ... Do something else.
}

尝试使用此代码,它在chrome和Firefox中有效,但无法刷新页面

$(document).keydown(function(objEvent) {       
    if (objEvent.ctrlKey) {          
            return false;          
    }             
}); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM