java - Wicket text input disappears after setEnable on TextArea -


i have textarea, , associated checkbox disable , enable textarea (setenabled(boolean)), used decide if required field or not.

my problem wicket not keep text in textarea when disabled (setenabled(false)). clears input.

how keep value in textarea before setenabled called on it? need update model serverside, can ajax request update it? haven't found example.

checkbox.add(new ajaxformcomponentupdatingbehavior("onchange") {     @override     protected void onupdate(ajaxrequesttarget target) {         if (textfield.isenabled()) {             textfield.inputchanged();             // update text input in propertymodel….         }          textfield.setenabled(false); // change in state not include text have been typed in         tekstfelt.setrequired(false);          target.add(textfield);     } }); 

you must add ajaxformcomponentupdatingbehavior blur event textarea when type in textarea , leave textarea (lose focus = blur) typed persisted model. sample code:

private textarea textarea() {     textarea textarea = new textarea("textarea", new propertymodel<string>(this, "value")){          @override         protected void onconfigure() {             setenabled(condition());         }      };     textarea.setoutputmarkupid(true);     textarea.add(new ajaxformcomponentupdatingbehavior("blur") {          @override         protected void onupdate(ajaxrequesttarget target) {         }     });     return textarea; } 

i recommend wheter textarea enabled or not should set in onconfigure() of textarea. when want updated textarea add ajaxrequesttarget , textarea knows if should enabled. best practice , not directly correlated question.


Comments

Popular posts from this blog

javascript - RequestAnimationFrame not working when exiting fullscreen switching space on Safari -

jsf - How to ajax update an item in the footer of a PrimeFaces dataTable? -

django - CSRF verification failed. Request aborted. CSRF cookie not set -