Details
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>