Apache Текстовое поле калитки при обновлении - PullRequest
1 голос
/ 25 мая 2020

У меня есть текстовое поле для пользовательского ввода, и как только оно получает контент, я хочу выполнить вызов службы.

Я добавил для этого метод OnChangeAjaxBehavior onUpdate (), но он указывает вызов службы после каждого символа.

Мой код:

getTextField().add(new OnChangeAjaxBehavior() {
                                    private static final long serialVersionUID = 1L;

                                    @Override
                                    protected void onUpdate(AjaxRequestTarget target) {
                                        refreshDependingComponents(target);
                                        TemplatePage.refreshFeedback(target, getTextField());
                                        getModelObject().setPeriod(getTextField().getInput());
                                        if (code!= null) {
                                            target.add(code);
                                        }
                                    }

Как я могу сделать так, чтобы он выполнял обновление и обновление sh только тогда, когда пользователь уже щелкнул мышью вне текстового поля?

Спасибо!

1 Ответ

2 голосов
/ 25 мая 2020

Для компонентов формы TextField и TextArea OnChangeAjaxBehavior использует события input и change JavaScript, и именно по этой причине он запускает Ajax вызовов для каждой буквы.

Вы можете использовать new AjaxFormComponentUpdatingBehavior("change") вместо этого. Он будет активировать Ajax вызов только при событии change.

...