如何通过js控制刷新页面重复提交form表单问题

JavaScript024

如何通过js控制刷新页面重复提交form表单问题,第1张

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>

在客户端那边去做限制,在最后一个请求没响应回来之前不能发起另外的请求。

a、提交事件触发后, 禁用控件,不让客户提交

b、设置一变量作为标识,如果是0就接受提交,如果是1就不接受. 每次提交的时候设为1,服务端响应之后设为0

服务端,

1在数据库层面防止重复数据写入

2使用 RateLimit 定义规定时间内同一操作不能超过几次,

3采用队列写入

4每次提交都需要申请一个 token ,每个 token 只能用一次