ユーザーが文字列を書き込むときに現在の値を取得するためTextField
に を追加した場所があります。AjaxFormComponentUpdatingBehavior
filterByObject = new TextField<String>("filterByObject", true, new PropertyModel<String>(searchParams, "objectFilter"));
AjaxFormComponentUpdatingBehavior changeFilterBinded = new AjaxFormComponentUpdatingBehavior ("onkeyup") {
@Override
protected void onUpdate(AjaxRequestTarget target) {
target.addComponent(componentToUpdate);
}
};
filterByObject.add(changeFilterBinded);
の中にいくつかの文字を入れるとtextfield
、onUpdate
メソッドが正しく呼び出され、コンポーネントが の現在の状態に基づいてsearchParams
正しく変更されます。残念ながら、Backspace挿入したものをキャンセルするために使用すると、onUpdate
が呼び出されません。
イベント ( onkeypress
、など)onkeydown
を変更しようとしましonchange
たが、うまくいきません。のみonChange
動作しますが、フォーカスを別のコンポーネントに変更する必要があります。
どうすればその日を救うことができますか?