js阻止页面刷新

JavaScript016

js阻止页面刷新,第1张

网页中用户的表单填写到一半,或者ajax请求发送期间,如果用户刷新浏览器可能会导致数据保存失败。需要阻止页面刷新,这时可以通过监听页面window.onbeforeunload事件函数来处理。

window.onbeforeunload = function(e) {

var dialogText = 'Dialog text here'

e.returnValue = dialogText

return dialogText

}

不过chrome不支持自定义显示文字,固定为

“要重新加载该网站吗?

系统可能不会保存您所做的修改”

而firefox和safari就会正常使用return value里面的文字

参考:

-- https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onbeforeunload#Browser_compatibility

实现的方法和详细的操作步骤如下:

1、第一步,打开Chrome浏览器,然后单击“设置”选项,见下图,转到下面的步骤。

2、第二步,完成上述步骤后,拉到底部,然后单击“高级”选项,见下图,转到下面的步骤。

3、第三步,完成上述步骤后,单击“网站设置”选项,见下图,转到下面的步骤。

4、第四步,完成上述步骤后,单击“

 JavaScript”选项,见下图,转到下面的步骤。

5、第五步,完成上述步骤后,打开“允许(推荐)”选项,然后刷新页面即可生效,见下图。这样,就解决了这个问题了。

1、用 javascript 设置一个变量,只允许提交一次;

参考如下:

<script type="text/javascript">

var checkSubmitFlg = false

function checkSubmit(){

if (checkSubmitFlg == true){

return false

}

checkSubmitFlg = true

return true

}

document.ondblclick =

function docondblclick(){

window.event.returnValue = false

}

document.onclick =

function doconclick(){

if (checkSubmitFlg){

window.event.returnValue = false

}

}

</script>

<form action="action.php" method="post" onsubmit="return checkSubmit()">

用 javascript 将提交按钮或者 img 置为 disable;

参考如下:

<form action="action.php" method="post" onsubmit="getElById('submitInput').disabled = truereturn true"> 

<img styleId="submitInput" src="images/ok_b.gif" border="0" />

</form>