[ 
https://issues.apache.org/jira/browse/WICKET-1646?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12598692#action_12598692
 ] 

Jarmar Fowler commented on WICKET-1646:
---------------------------------------

I determined that the cause of my issue was related to a browser setting. 
Native XMLHttp was not enabled. 
Unfortunately, this option is disabled for everyone in my company by default.  
Would it be possible to try and use
native XMLHttp for IE7 by default, but if the XMLHttpRequest object is null 
fallback to the old approach? The code in question
is in wicket-ajax.js (see snippet below).

/**
 * The Ajax class handles low level details of creating and pooling 
XmlHttpRequest objects,
 * as well as registering and execution of pre-call, post-call and failure 
handlers.
 */
 Wicket.Ajax = { 
        // Creates a new instance of a XmlHttpRequest
        createTransport: function() {
            var transport = null;
            if (Wicket.Browser.isIELessThan7() && window.ActiveXObject) {
                transport = new ActiveXObject("Microsoft.XMLHTTP");
            } else if (window.XMLHttpRequest) {
                transport = new XMLHttpRequest();
            } 
            
            if (transport == null) {
                Wicket.Log.error("Could not locate ajax transport. Your browser 
does not support the required XMLHttpRequest object or wicket could not gain 
access to it.");
            }    
            return transport;
        },


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

Reply via email to