[英]stop user from resubmitting a form / aka stop from refreshing
我试图阻止用户刷新包含表单的页面。 基本上,我想阻止用户按Ctrl + R , F5和Ctrl + 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.