2009年8月11日 星期二

防止多次SUBMIT的方法

WEB FORM中,有時後使用者按下『SUBMIT』時,連接至SERVER過慢,忍不住多按幾下,有時會造成多次執行的結果,例如資料重複或是EMAIL重複發出。

要防止這個問題,以下是最簡單的方式:
-------------------------------------------------------------------------

<script language="javascript">
var submitted = false;
</script>

...

<form onsubmit="if (!submitted) {submitted = true; return true;} else return false;">

...

-------------------------------------------------------------------------

說明:
1. 一定要在CLIENT端處理,因此選用Javascript
2. 有些人用的方式是DISABLE SUBMIT按鈕,但是每支程式的都不同,很難達成
3. 利用一般form的檢查機制,輕易完成此一任務
4. 若有其他form的檢查機制需要自行調整
5. ASP.NET的MASTER PAGE,也可以套用,甚至更方便,只要改一個地方即可
6. 此方法適用各類WEB語言



沒有留言: