Did you do what I suggested you ?
On Mon, Nov 11, 2013 at 3:49 PM, Daniela L <danigal...@gmail.com> wrote: > Hi, > > I have tryed to change to AbstractDefaultAjaxBehavior like I described > below, but respond is never called. What am I doing wrong? > > > Hi, > > as far as I have understood this can only be achieved, if I subclass > AbstractDefaultAjaxBehavior like this? > > public class PageExitWarningBehavior extends AbstractDefaultAjaxBehavior { > @Override > protected void respond(AjaxRequestTarget target) { > > AppointmentSession.get().releaseSavedBlockedFreeCalendarEvent(); > } > > > Hi, > > You need to make an Ajax call to the server. > > > On Mon, Nov 11, 2013 at 2:10 PM, Daniela L <danigal...@gmail.com> > <danigal...@gmail.com><danigal...@gmail.com> <danigal...@gmail.com> > wrote: > > > Hi, > this is my first question, so i hope I get everything right. > > I am trying to catch the event of the user closing the browser window in > wicket. > > I followed this example: > > http://stackoverflow.com/questions/16527463/call-java-component-from-javascript-and-retreive-value > > and I managed to get the example working so the message is displayed, but I > have no idea how to get the event triggered by the javascript function in > wicket. I need this because when the user closes the browser window I want > to update some data in my database. > Here is what I have tryed: > > > RequiredTextField<String> myTextField = new > RequiredTextField<String>("myTextField"); > myTextField.setOutputMarkupPlaceholderTag(true); > myTextField.add(new PageExitWarningBehavior(){ > @Override > public void onEvent(Component component, IEvent<?> event) > { > //this isn't ever called > MySession.get().releaseBlockedDataFromDatabase(); > } > }); > > public class PageExitWarningBehavior extends Behavior { > @Override > public void renderHead(Component component, IHeaderResponse > response) { > super.renderHead(component, response); > response.render(new > OnDomReadyHeaderItem("window.onbeforeunload = function (e) {" > > > + "Wicket.Ajax.get({u: '"+getCallbackUrl()+"', async: > false});" > > > + "var message = 'Your confirmation message goes > here.'," > > + "e = e || window.event;" + "if (e) {" > > + "e.returnValue = message;" + "}" + "return message;" + > "};")); > } > } > > What am I missing? Thank you very much in advance >