2012-12-01 38 views
0

我想提出一個問題<form>自動保存類似於Stackoverflow上的這個。我的理解是不顯眼的自動保存我們能用setInterval()$.ajax()(ref.1ref.2)這樣做,但我更感興趣的表單驗證#1用來確定表單是否給定的時間間隔後提交。自動保存中使用的表單驗證?

我的問題是,我應該保持驗證簡單,並確保用戶inputed,說超過5個字符(或超過5個字符已經改變)?在自動保存的情況下(或者與用戶發起的submit()相比),我還應該考慮對錶單驗證做些什麼。

+1

你可以只保存用戶輸入無論其驗證

;另外,它可以保存在客戶端,比如'localStorage',而不是服務器端。 – Haocheng

+0

@Haocheng,謝謝,但我有必要驗證並提交服務器端 –

回答

1

通過在最後一次按鍵敲擊幾秒後更新用戶的輸入,您可以保持簡單。

這是我看起來像一個jQuery代碼。

var timer = null; 
$(inputElem).on('keyup',function(){ 
    clearTimeout(timer); 

    // Update user input after 5 seconds of last keystroke 
    timer = setTimeout(updateUserInput , 5 * 1000); 
}); 

重要的是需要考慮的是跟蹤修訂。如果用戶可能不想保留它的當前更改,那麼它應該能夠恢復到最後的副本。

不過這一切取決於你要開發的應用程序的類型。

0

這個例子測試,如果用戶更改或添加/刪除5個字符或不testDeff功能

http://jsfiddle.net/alaa13212/PSJ4z/

+0

此測試僅適用於文本框中沒有任何內容開始。你可以修改它爲**還**帳戶檢查是否有一些現有的輸入值被修改5個字符? –

+0

http://jsfiddle.net/alaa13212/PSJ4z/3/ – alaa

+0

此的jsfiddle不起作用 –