我有这样的问题Wickets AjaxFormComponentUpdatingBehaviour
。当你将它设置为表单上的某些组件并为其添加验证时,在按下“提交表单”按钮之后,并且可以说,出现错误,组件未通过验证,此后ajax
表现出不同,不更新模型。AjaxFormComponentUpdatingBehaviour问题表单在Wicket提交
下面是代码示例:
TextField someText = new TextField("someTextId");
someText.setRequired(true); //added validation on requireness
CheckBox checkBx = new CheckBox("checkBxId");
TextField changeableTxt = new TextField("changeableTxtId");
changeableTxt.setEnabled(false);
checkBx.add(new AjaxFormComponentUpdatingBehaviour("onclick"){
protected void onUpdate(AjaxRequestTarget target) {
if(compoundModel.isCheckBx()){
changeableTxt.setEnabled(true);
target.addComponent(changeableTxt);
}else{
compoundModel.setChangeableTxt(null);
changeableTxt.setEnabled(false);
target.addComponent(changeableTxt);
}
}
});
Form form = new Form("form", compoundModel);
form.add(someText, checkBx, changeableTxt);
add(form);
所以,如果检查checkBx
,输入一定的参考价值changeableTxt
,离开someText
空并按提交按钮,就会出现错误,则需要该字段someText。之后,如果我们点击checkBx
,它会使changeableTxt
字段禁用,但它会在输入值之前离开,而不是空。
I've所做的一切,就像你说的,和Thorsten,但它的出现,是,当我点击复选框,它使文本框启用,但当我再次单击它时,它不会使textfield禁用并且为空 – Gytis 2012-04-30 08:21:41
我一回到家就会检查。我将提供完整的java&html文件,以便我们可以看到我们的偏离路径 – 2012-04-30 12:37:55
好吧,这不是正常工作,我的表单不会在点击时改变,但我找到了解决此问题的其他方法。我创建了新项目,并为它们设置了一些值,因此它不是旧的组件,它们在提交后不更新,而是新的新组件。 – Gytis 2012-05-11 05:58:45