Author: mgrigorov Date: Fri Feb 11 09:50:56 2011 New Revision: 1069727 URL: http://svn.apache.org/viewvc?rev=1069727&view=rev Log: WICKET-3436 OnChangeAjaxBehavior can render javascript before wicket-ajax.js is loaded
register Wicket.ChangeHandler when 'domready' event is fired. This way the registration doesn't depend on already loaded wicket-ajax.js Modified: wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/ajax/form/OnChangeAjaxBehavior.java Modified: wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/ajax/form/OnChangeAjaxBehavior.java URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/ajax/form/OnChangeAjaxBehavior.java?rev=1069727&r1=1069726&r2=1069727&view=diff ============================================================================== --- wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/ajax/form/OnChangeAjaxBehavior.java (original) +++ wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/ajax/form/OnChangeAjaxBehavior.java Fri Feb 11 09:50:56 2011 @@ -16,10 +16,9 @@ */ package org.apache.wicket.ajax.form; -import org.apache.wicket.Response; +import org.apache.wicket.markup.html.IHeaderResponse; import org.apache.wicket.markup.html.form.AbstractTextComponent; import org.apache.wicket.markup.html.form.FormComponent; -import org.apache.wicket.util.string.JavascriptUtils; /** * A behavior that updates the hosting {@link FormComponent} via ajax when value of the component is @@ -48,15 +47,14 @@ public abstract class OnChangeAjaxBehavi } @Override - protected void onComponentRendered() + public void renderHead(final IHeaderResponse response) { + super.renderHead(response); + if (getComponent() instanceof AbstractTextComponent) { - Response response = getComponent().getResponse(); final String id = getComponent().getMarkupId(); - response.write(JavascriptUtils.SCRIPT_OPEN_TAG); - response.write("new Wicket.ChangeHandler('" + id + "');"); - response.write(JavascriptUtils.SCRIPT_CLOSE_TAG); + response.renderOnDomReadyJavascript("new Wicket.ChangeHandler('" + id + "');"); } } }