Thanks allot for your help Derrel.

But somehow I'm stuck on how I would use the IframeTransport to upload files.

As I understand I need to add an input tag of type "file" to the IframeTransport and to set the method of the form to "put" and the enctype to "multipart/form-data" to the form in the Iframe. So I subclassed IframeTransport to IframeUploadTransport.

The value attribute of the file input is readonly so its not possible to set the value from outside.

So I derived from qx.ui.form.TextField a qx.ui.form.FileField class which creates a tag of type "file" and did the following:

1) I created an instance of qx.ui.formFileField (filefield) and an instance of my IframeUploadTransport (transport) (I should not as stated in the docs)

2) After the user selected a file to upload in filefield and before calling send to transport I moved the dom element of filefield to the form in transport by
    calling:

    var el = filefield.getElement();
    var parent = el.parentNode;

    transport._form.appendChild(el);
    transport.send();
   
    parent.addChild(el);

The file input tag is moved to the iframe form then the form is submitted then the file input tag is moved back to the parent it belonged before.

The benefit is that the file input tag can be placed wherever you want.

This works for FireFox but not for Internet Explorer. When sent by InternetExplorer the upload is received by my (perl) backend but the content is empty. The filename received is correct.

So there remain four problems to solve:

1) Is this method problematic with respect to security patches which somedays disallow the move of input tags of type file to a form?

2) Why doesn't this work in IE

3) How can this methodology be applied to a qx.io.remote.RemoteRequest instance

4) How can we style the FileField to fit into the qooxdoo look and feel.

Any Ideas, comments, whatever would be great.

Thanks allot.

Best regards...



[EMAIL PROTECTED] schrieb:
[EMAIL PROTECTED] writes:

  
I've subclassed qx.io.remote.IframeTransport and want to tell the remote
request object to use this transport.

How can this be done?
                
Now you're getting into "internals"; this ability is not quite exposed to the
user.  What it appears you'll have to do is modify
qx.io.remote.RemoteExchange.typesOrder to insert your subclass before
IframeTransport.  The value of qx.io.remote.RemoteExchange.typesOrder is:

  qx.io.remote.RemoteExchange.typesOrder =
  [
    "qx.io.remote.XmlHttpTransport",
    "qx.io.remote.IframeTransport",
    "qx.io.remote.ScriptTransport"
  ];

so you'll likely want to modify it something like this:

  qx.io.remote.RemoteExchange.typesOrder =
  [
    "qx.io.remote.XmlHttpTransport",
    "mySubclassOfIframeTransport",
    "qx.io.remote.ScriptTransport"
  ];
    

Additionally, you need to make your subclass "available":

  qx.io.remote.RemoteExchange.registerType(mySubclassOfIframeTransport,
                                           "mySubclassOfIframeTransport);

The first parameter is your class; the second is the textual class name.

Register your type before issuing any remote requests.  The list of registered
types is only scanned on the first request, and the list is cached.

Derrell

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
qooxdoo-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
  

-- 
Mit freundlichen Grüßen
Dietrich Streifert
Visionet GmbH
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
qooxdoo-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel

Reply via email to