2011-12-22 31 views
0

extjsのnumberfieldには、スピナー(上/下ボタン)でうまく動作する無効なキーボード入力を防ぐmaxValueプロパティがあります。私はキーボードの入力を維持したいが、私は正しい値を強制し、それをさらに下にフラグを立てる必要はない。 onchangeハンドラでextjs numberfield:無効なキーボード入力を防止する

、私はmaxValueのに対してnewValueに検証し、バックmaxValueのにそれを設定したが、その後、私はそれを更新するために、制御上のsetValueを使用する必要があります。これは別のonchangeイベントを発生させます。今度は2回発火するonchangeイベントに基づくロジックがあります。

私はおそらく2つの解決策の一つを探しています: - 1:のonchangeイベント 発火せずに制御値を更新することができる - 2:最大に戻って入力した値を強制するために、いくつかの作り付けのnumberfieldプロパティを使用し

答えて

1

setRawValue(Object値)は、イベントを発射アウトで動作するはずです、またはあなたは素晴らしい

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

によってnumberfield上のイベントを一時停止することができます - 私はすでに成功せずsetRawValueを試してみましたが、イベントを中断し、再開することはトリックをやっていました。 – Savage

関連する問題