*bump* this actually solves the problem of file uploads in LOAD loaded forms
I send the patch for the examples web2py_ajax.html because I do not know which is the main web2py_ajax.html please include this fix in web2py On Sep 28, 10:53 pm, selecta <[email protected]> wrote: > After spending time and time again with this problem I found a > solution for uploading files in forms loaded with web2py LOAD/ > web2py_component > > download jquery.form.jshttp://jquery.malsup.com/form/to static/js > put a loading.gif image into static/img (just for style) > > apply the patch to the examples/views/web2py_ajax.html > and copy the new web2py_ajax.html to your app > > diff --git a/applications/examples/views/web2py_ajax.html b/ > applications/examples/views/web2py_ajax.html > --- a/applications/examples/views/web2py_ajax.html > +++ b/applications/examples/views/web2py_ajax.html > @@ -2,6 +2,7 @@ > response.files.insert(0,URL(r=request,c='static',f='jquery.js')) > response.files.insert(1,URL(r=request,c='static',f='calendar.css')) > response.files.insert(2,URL(r=request,c='static',f='calendar.js')) > +response.files.insert(3,URL(r=request,c='static/ > js',f='jquery.form.js')) > for _item in response.meta or []:}} > <meta name="{{=_item}}" content="{{=response.meta[_item]}}" />{{ > pass > @@ -65,12 +66,22 @@ > function web2py_trap_form(action,target) { > jQuery('#'+target+' form').each(function(i){ > var form=jQuery(this); > - if(!form.hasClass('no_trap')) > - form.submit(function(obj){ > - jQuery('.flash').hide().html(''); > - web2py_ajax_page('post',action,form.serialize(),target); > - return false; > - }); > + if(!form.hasClass('no_trap')){ > + form.ajaxForm({ > + url: action, > + beforeSubmit: function(a,f,o) { > + $ > ('#'+target).html('{{=IMG(_src=URL(request.application,'static/ > img','loading.gif') ,_alt='loading')}} Submitting...'); > + }, > + success: function(data) { > + $('#'+target).html(data); > + web2py_trap_form(action,target); > + web2py_ajax_init(); > + if(command) eval(command); > + if(flash) jQuery('.flash').html(flash).slideDown(); > + return false; > + } > + }); > + } > }); > } > > i have not tested it enough to really say that it should be included > in the web2py code but after some more testing it should be included > > also I wanted to ask: massimo can you "clean up" the static folder and > create some subfolders > > /static/js/ > /static/css/ > /static/img/

