我有一个文本字段供用户输入,一旦它获得内容,我想执行一个服务调用。
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同时使用Input
和Change
JavaScript事件,这就是它为每个字母激发Ajax调用的原因。
您可以使用new AjaxFormComponentUpdatingBehavior(“change”)
。它将只在change
事件上激发Ajax调用。