Apache Wicket 文本字段 onUpdate

Apache Wicket textfield onUpdate

我有一个用于用户输入的文本字段,一旦它获得内容,我想执行服务调用。

我为此添加了 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);
                                        }
                                    }

我怎样才能做到它只在用户已经点击离开文本字段时才进行更新和刷新?

谢谢!

对于 TextField 和 TextArea 表单组件 OnChangeAjaxBehavior 同时使用 inputchange JavaScript 事件,这就是它触发的原因 Ajax 要求每个字母。

您可以改用new AjaxFormComponentUpdatingBehavior("change")。它将在 change 事件上触发 Ajax 仅调用