Here is how to make it work using dojo:
The form:
<form id="myform" action="nodecorate/myaction.action"
enctype="multipart/form-data" method="post">
<s:file name="myfile"></s:file>
<input type="button" onclick="sendIt(); return false;">
</form>
The javascript:
function sendIt(){
var bindArgs = {
transport: "IframeTransport",
formNode: document.getElementById("myform"),
mimetype: "text/html",
load: function(type, data, evt){
document.getElementById("mydiv").innerHTML =
data.firstChild.innerHTML;
}
};
var request = dojo.io.bind(bindArgs);
}
The div with id 'mydiv' will then get updated with the response from the
action.
Jack
On 5/13/07, Musachy Barroso <[EMAIL PROTECTED]> wrote:
Try to get it to work with dojo first, no struts involved. I think there
has
been a couple of posts about this in the mailing list. Let us know if you
get it to work as it would make a good FAQ :)
musachy
On 5/13/07, jf nuzbit <[EMAIL PROTECTED]> wrote:
>
> Hello,
>
> Has anyone managed to get a multipart/form-data submission working with
> the
> ajax theme?
> This is what I've got so far:
>
> <s:form namespace="/nodecorate" action="myaction"
> enctype="multipart/form-data" method="post">
> <s:file value="image" name="image"></s:file>
> <s:textfield value="title" name="item.title"/>...
>
> <s:submit theme="ajax" targets="useritems"
value="submit"></s:submit>
> </s:form>
>
> Which looks like it's almost working but the target div updates with
> '[object HTMLDocument]' and the action never gets invoked.
> If i remove the s:file element from the form then everything works as
> expected with the div updating with the result from the action.
>
> This looks to me like a problem with dojo as opposed to Struts2, I'm
using
> version 2.0.6 by the way.
> Has anyone else encountered this or have any ideas?
>
> Any help appreciated.
> Thanks,
>
> Jack
>
--
"Hey you! Would you help me to carry the stone?" Pink Floyd