2014-03-18 275 views
0

我正在做網站,這將幫助人們收集他們的 水錶讀數。目前我正在輸入表格來添加當前的月份讀數。驗證輸入字段。可用性

瀏覽器在用戶輸入時檢查數據,而不是在發送表單時(通過jquery)。例如,用戶輸入123後按d。他按d錯誤將出現輸入字段等附近...所以字段驗證keyup行動

我想加入測試,這將通過如果用戶輸入的值,這是不小於上個月(或不是上個月,只是上次輸入的)值。

想象一下:上個月儀表值是250.當前255.輸入字段爲空。用戶凝視打印。他按2(現在輸入值爲2)。記住價值正在測試關鍵? jQuery將開始測試,並將返回錯誤,因爲2(當前值在字段中)< 250(上個月計量值)。之後他按5(現在輸入值爲25)。 25 < 250,所以jquery仍然會顯示錯誤,該值,用戶輸入無效。之後他再次打印5(現在輸入的值是255)。 255而不是<然後250,所以錯誤消息/塊將消失。

所以問題是這樣的:是否正確顯示此測試的關鍵錯誤(檢查輸入值是否小於上個月值)?我認爲這是不正確的,因爲一些用戶是非常新鮮的電腦和這個消息可以嚇倒他們或IDK :))
是好的,或者我應該找到一種方法來測試這隻在onblur行動(從焦點刪除焦點)?但是要顯示錯誤信息(我的意思是可用性)會過晚嗎?由於更好的可用性,我正在檢查輸入數據,因爲更好的可用性(因此,ppl知道他在輸入階段的錯誤,而不是發送表單後)。

也許還有另外一個建議?

+0

問題問我們在StackOverflow上不允許有意見。最好提出非常具體的問題,而不是「什麼是最好的?」或呈現各種假設情景。 – Sparky

+0

如果您使用的是jQuery Validate,那麼在初始「提交」事件之後纔會進行驗證。然後'onkeyup'和'onblur'發揮作用。有許多方法可以禁用或修改這些事件,但我無法針對此類通用問題發佈具體答案。 – Sparky

回答

0

添加2個事件,一個onkeyup和一個onblur?調用onKeyUp可以檢查不正確的字符和的onblur可以將輸入值與上月

0

超時添加到KEYUP,這是同樣的問題的可能重複:

How to trigger an onkeyup event that's delayed until a user pauses their typing?

+0

可能是很好的建議。發現這個問題正是爲這個插件[鏈接](https://github.com/jzaefferer/jquery-validation/issues/466),但它還沒有完成。任何建議如何在代碼上使用onkeyup延遲?檢查[這個jsFiddle](http://jsfiddle.net/FvAs5/)。有沒有遠程測試,但你可以幫助'數字'例如?謝謝。 –

+0

你可以在jsFiddle中發佈嗎?我認爲這是驗證,但現在不是。 我希望把它包起來的東西是這樣的: VAR延遲= 2500 //2.5秒 的setTimeout(函數(){ //2.5秒 後要執行的代碼},延遲) – ml242

+0

什麼你的意思是?這是jsFiddle:http://jsfiddle.net/95kgu/。它正在驗證atm。 –