Hi, I am using a close browser behavior to clean up user data if the user closes the browser window. I also use a CheckBox to toggle the visibility of some Textfields. Unfortunately the refresh through the click of the CheckBox triggers the close browser behavior. How can this be avoided? Here is what I did (with wicket 6.12.0):
customerFirstName = new RequiredTextField<String>("customer.firstName"); customerFirstName.setOutputMarkupPlaceholderTag(true); closeBrowserBehavior = new AbstractDefaultAjaxBehavior() { @Override protected void respond(AjaxRequestTarget target) { AppointmentSession.get().releaseSavedBlockedFreeCalendarEvent(); } @Override public void renderHead(Component component, IHeaderResponse response) { super.renderHead(component, response); response.render(new OnDomReadyHeaderItem("window.onbeforeunload = function (e) {" + "if (!window.dontAsk) {" + "Wicket.Ajax.get({u: '"+getCallbackUrl()+"', async: false});" + "var message = 'my message.'," + "e = e || window.event;" + "if (e) {" + "e.returnValue = message;" + "}}" + "return message;" + "};")); } }; customerFirstName.add(closeBrowserBehavior); form.add(customerFirstName); createAccountCB = new CheckBox("createAccountCB", new Model<Boolean>(createAccount)){ @Override protected void onSelectionChanged(Boolean newSelection) { super.onSelectionChanged(newSelection); createAccount = !createAccount; } @Override protected boolean wantOnSelectionChangedNotifications() { return true; } }; form.add(createAccountCB); emailRepeat = new TextField<String>("emailRepeat", new PropertyModel<String>(appointCalendar, customer.eMailAdress")){ @Override protected void onConfigure(){ super.onConfigure(); setVisibilityAllowed(createAccount); } } }; emailRepeat.setOutputMarkupPlaceholderTag(true); form.add(emailRepeat): Thanks a lot in advance! Best Regards Daniela