2011-12-22 58 views
0

extjs號碼字段具有maxValue屬性,可以很好地適用於微調(上/下按鈕),但不會阻止無效的鍵盤輸入。我想保留鍵盤輸入,但我想強制正確的值,而不必將其標記爲更靠後的位置。extjs numberfield:防止無效的鍵盤輸入

在onchange處理程序中,我根據maxValue驗證newValue並將其設置回maxValue,但是必須使用控件上的setValue來更新它。這引發了另一場onchange事件。有基於onchange事件的邏輯現在被觸發兩次。

我可能找兩個解決方案之一: - 1:能不費一槍onchange事件 更新控制值 - 2:使用一些內置numberfield財產強制輸入的值回最大

回答

1

setRawValue(對象的值)應與出觸發事件,或者您也可以通過

numberfield.suspendEvents(false);//suspend 
numberfield.setValue(val); //set value 
numberfield.resumeEvents();//resume events 
+0

優秀暫停對numberfield事件 - 我已經嘗試沒有成功setRawValue,但掛起和恢復事件的伎倆。 – Savage 2011-12-22 13:01:05