Uploaded image for project: 'Wicket'
  1. Wicket
  2. WICKET-1646

AjaxFormComponentUpdatingBehavior not working correctly when using IE 7

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 1.3.4, 1.4-M3
    • 1.3.4, 1.4-M3
    • wicket
    • None
    • OS: Windows XP SP2
      ServletContainer: Jetty 6.1.6
      Browser: IE 7

    Description

      AjaxFormComponentUpdatingBehavior works with Firefox, but doesn't work when using IE7.
      I also observed similar problems when using AjaxEventBehavior as well.
      The error returned via the ajax debug console was: "Could not locate ajax transport. Your browser does not support the required XMLHttpRequest object or wicket could not gain access to it".

      Below is a simple example that should demonstrate the problem.

      Example.java
      ============================================================
      package example.page;

      import org.apache.wicket.ajax.AjaxRequestTarget;
      import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior;
      import org.apache.wicket.markup.html.WebPage;
      import org.apache.wicket.markup.html.basic.Label;
      import org.apache.wicket.markup.html.form.Form;
      import org.apache.wicket.markup.html.form.TextField;
      import org.apache.wicket.model.CompoundPropertyModel;
      import org.apache.wicket.model.PropertyModel;

      public class Example extends WebPage {
      private int age;

      public Example() {
      Form form = new Form("form", new CompoundPropertyModel(this));
      add(form);

      final Label label = new Label("label", new PropertyModel(this, "age"));
      label.setOutputMarkupId(true);
      add(label);

      final TextField age = new TextField("age");
      age.add(new AjaxFormComponentUpdatingBehavior("onblur") {

      /**

      • */
        private static final long serialVersionUID = 1L;

      protected void onUpdate(AjaxRequestTarget target)

      { System.out.println("onUpdate triggered"); target.addComponent(label); }

      });
      form.add(age);
      }

      public int getAge()

      { return age; }

      public void setAge(int age)

      { this.age = age; }

      }

      Example.html
      ==================================================
      <html>
      <head>
      <title>Test</title>
      </head>
      <body>

      <div>
      <label wicket:id="label">My Label Goes Here</label>
      </div>
      <form wicket:id="form">
      <div>Age: <input type="text" wicket:id="age" /></div>
      <div>
      <input type="submit" value="Submit" />
      </div>
      </form>
      </body>
      </html>

      Attachments

        Activity

          People

            frankbille Frank Bille
            jfowler06 Jarmar Fowler
            Votes:
            3 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: