@Massimo, this worked for me- thanks a lot.

I'd suggest making mention of jquery.form.js in the regular book as
well.

Yarin

On Dec 25, 1:31 am, Massimo Di Pierro <[email protected]>
wrote:
> The only way around this is using thishttp://jquery.malsup.com/form/
>
> There is a web2py slice about this and an extended recipe in this
> book:http://www.packtpub.com/web2py-application-development-recipes-to-mas...
>
> we decided not to include jquery.form.js in web2py because it is a
> workaround to the specs (lack of multipart forms in ajax) and
> therefore it has to be handled in a special way serverside.
>
> massimo
>
> On Dec 24, 8:00 pm, Yarin <[email protected]> wrote:
>
>
>
>
>
>
>
> > Just found this in the docs, which perhaps partially answers my
> > question:
>
> > "*Please note:* Because Ajax post does not support multipart forms,
> > i.e. file uploads, upload fields will not work with the LOAD
> > component. You could be fooled into thinking it would work because
> > upload fields will function normally if POST is done from the
> > individual component's .load view. Instead, uploads are done
> > with ajax- compatible 3rd-party widgets and web2py manual upload
> > store commands."http://web2py.com/books/default/chapter/29/12? search=upload
>
> >  Does this mean I have to do uploads manually? I'm looking at http://
> > web2py.com/book/default/chapter/06#Manual-uploads but I'm not clear on
> > where/how I would perform this.
>
> > My table definition: db.define_table('image',         Field('title',
> > required=True),         Field('file', 'upload'))
>
> > On Dec 24, 8:09 pm, Yarin <[email protected]> wrote:
>
> > > Merry Christmas
>
> > > I need to do an AJAX form submission for a basic image table. I'm
> > > following the strategy described 
> > > here:http://web2py.com/books/default/chapter/29/11#Ajax-form-submission
>
> > > whereby I create an HTML form by hand, and have a SQLForm handle the
> > > submission. The record gets inserted fine, except that the image I
> > > choose is not being uploaded, but a .txt file shows up in the uploads
> > > folder instead.
>
> > > Is it possible to use web2py's upload functionality with AJAX
> > > submissions? What are my options here?
>
> > > (NOTE: I need to use native jQuery ajax, not web2py ajax helpers, due
> > > to extenuating circumstances)
>
> > > The form:
>
> > > <form id="image-form">
> > > <input id="image_title" id="image_title" name="title" type="text"
> > > value="">
> > > <input id="image_file" name="file" type="file" />
> > > <input type="submit" name="Submit"/>
> > > </form>
>
> > > <script>
>
> > > $(function() {
>
> > >         $('#image-form').submit(function() {
>
> > >                         $.update('{{=URL(c='images', f='process')}}', {
> > >                                 title: $('#image_title').val(),
> > >                                 file: $('#image_file').val(),
> > >                                 });
> > >                         return false;
> > >         });});
>
> > > </script>

Reply via email to