我有這樣的問題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