2012-06-17 49 views
2

當我使用XPages時,防止多次提交的最佳方法是什麼?防止在XPages中多次提交的最佳方法是什麼?

對於「經典網絡」解決方案如下。 如何從Web http://www-304.ibm.com/support/docview.wss?uid=swg21089865

使用jQuery塊中的同一文件的多個提交,該解決方案如下。 http://www.norio.be/blog/2008/09/using-jquery-prevent-multiple-form-submissions

但我不知道在Xapges的方式。如何在XPages或Dojo中預防它?

+0

也有看看這個問題的答案: http://stackoverflow.com/questions/9258858/how-to-grayed-out-the-button-in-xpage –

回答

1

最好是而不是應用這種客戶端技術,因爲與不可靠的互聯網連接相結合,用戶可能會發現提交失敗,但無法重試。

更強大的解決方案是在服務器端進行重複數據刪除,這可以通過多種方式完成;這些都是一些浮現在腦海中:

  1. 定義的表單內容的語義,因此,如果您收到兩個請求也無所謂(例如,如果它被更新記錄,然後進行第二次更新只是改變不了什麼) 。
  2. 如果您以前看過完全相同的提交(比較所有相關字段),請忽略它。
  3. 將表單發送到客戶端時生成序列號。不要接受以前見過的序列號提交 - 或做一些有用的事情;例如,如果是博客發佈或評論表單,則第二次提交應該被視爲編輯到第一次提交創建的帖子。
+0

謝謝,凱文。 你說得對。我們應該在服務器端檢查它。 我的問題很糟糕。 我想知道簡單的方法來防止在客戶端多次提交。 由於Xpages似乎阻止了衝突文件,所以即使有多個提交文件也是如此。所以我認爲我不需要嚴格的方法。 – satohiro

0

您可以通過使用XSP.addQuerySubmitListener阻止提交併返回false。這不是最簡單的功能。所以我建議你看一下書「Xpages Portable Command Guide」中的函數,或者在OpenNTF上嘗試我的項目多文件上傳器。下載項目源代碼here

+0

謝謝,我會檢查它。 – satohiro

相關問題