[
https://issues.apache.org/jira/browse/WICKET-1646?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12602678#action_12602678
]
Lonnie Fulton commented on WICKET-1646:
---------------------------------------
This is what i currently do. I followed microsofts documentation on how to
fallback to using a ActiveX object if native XMLHTTP is disabled
(http://msdn.microsoft.com/en-us/library/ms537505(VS.85).aspx) and simply added
the following to wicket-ajax.js. You just need to make sure this snippet is
inserted before Wicket.Ajax = { ... is called.
/**
* Check to see if the native XMLHttpRequest has been disabled for IE7,
* if so fallback to using the ActiveXObject.
*/
if (Wicket.Browser.isIE7() && !window.XMLHttpRequest) {
window.XMLHttpRequest = function() {
try {
return new ActiveXObject('MSXML2.XMLHTTP.3.0');
}
catch (ex) {
return null;
}
}
}
I have been using this for awhile on our production server and have had no
problems. I hope this can be incorporated into 1.3.4.
> AjaxFormComponentUpdatingBehavior not working correctly when using IE 7
> -----------------------------------------------------------------------
>
> Key: WICKET-1646
> URL: https://issues.apache.org/jira/browse/WICKET-1646
> Project: Wicket
> Issue Type: Bug
> Components: wicket
> Affects Versions: 1.3.4
> Environment: OS: Windows XP SP2
> ServletContainer: Jetty 6.1.6
> Browser: IE 7
> Reporter: Jarmar Fowler
> Assignee: Matej Knopp
> Fix For: 1.3.4
>
>
> 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>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.