Struts2本身提供了重復(fù)提交的檢查機(jī)制,但是我要的不是彈出一個(gè)出錯(cuò)頁面,而是當(dāng)作什么也沒發(fā)生,只執(zhí)行一次提交
1.設(shè)置一個(gè)變量,設(shè)置一個(gè)變量,只允許提交一次。
<script type="text/javascript">
function checkSubmit() {
if (checkSubmitFlg == true) {
return false;
}
checkSubmitFlg = true;
return true;
}
</script>
<form onsubmit="return checkSubmit();" method="post">
方法1在IE6和Firefox上實(shí)驗(yàn)下來都有效
2.禁用按鈕的方式
由于我們的那個(gè)服務(wù)器實(shí)在太慢,讓按鈕變灰,給用戶的體驗(yàn)更好一些
<script type="text/Javascript">
function disableSubmit(form) {
var elements = form.elements;
for (var i = 0; i < elements.length; i++) {
if (elements[i].type == 'submit') {
elements[i].disabled = true;
}
}
}
</script>
<form name="form1" onsubmit="setTimeout('disableSubmit(form1)',100) return checkSubmit();" method="post">
馬上禁用的話會(huì)導(dǎo)致按鈕單獨(dú)的action設(shè)置失效,所以要加一個(gè)延時(shí)
方法2在IE6有效。在FIREFOX無效,原因未知。但反正是第二保險(xiǎn),也沒關(guān)系。
參考文章
http://blog.csdn.net/LoveYou1999/archive/2007/02/02/1501295.aspx
http://www.takka.com.hk/jstutor/ch10/ch10.htm
新聞熱點(diǎn)
疑難解答