This may a bug in JS library used to handle jDiv. I will investigate
but it will not be solved overnight.

Massimo

On May 1, 2:21 pm, Ted G <tedg...@gmail.com> wrote:
> I've been trying out the new jDiv container, which works well with the
> exception of forms containing upload fields. I thought I would start a
> new thread for this, as my previous post (included below), seemed out
> of place in the old thread.
>
> Note that in the example code below, I've also tried replacing edit()
> with:
>
> def edit():
>     user_profile=db(db.user_profile.owner==auth.user.id).select()[0]
>     return crud.update(db.user_profile,user_profile.id)
>
> The above change was order to take SQLForm out of the equation and
> stick closer to the examples from the website (using crud). The result
> is still the same - the form is always accepted, but only changes to
> nickname and bio fields are updated to the database, the upload field
> is not updated. Take the crud form out of the jDiv and put it directly
> on the index page and it works as it should.
>
> -------------- Original Post --------------------
>
> I'm having a problem using upload fields within forms that are used
> within jDiv containers. Testing edit() below by itself provides a
> form
> that I can successfully select and update an image. When I
> encapsulate
> the same edit() within a jDiv, all fields update with the exception
> of
> the upload field, even though form.accepts is successful.
> The code below contains the essential elements of what I am doing.
> Updating the profile edit form correctly forces a refresh of the
> other
> jDiv that is displaying the profile info, and all fields are updated
> correctly when changed, with the exception of the upload field.
> Any help with this is appreciated.
> P.S. - Despite this hiccup, I am enthusiastic about this addition of
> the jDiv container.
> db.py model:
> --------------------------
> db.define_table('user_profile',
>     SQLField('nickname', type='string'),
>     SQLField('bio', type='text'),
>     SQLField('owner', db.auth_user, notnull=True, required=True,
> writable=False),
>     SQLField('image', 'upload', uploadfield='image_data'),
>     SQLField('image_data', type='blob', default='', writable=False)
>     )
> profile.py controller:
> -----------------------------
> def index():
>     # create profile form and profile info containers
>     profile_form = jDiv('',URL(r=request,f='edit'),_id='1')
>     user_profile = jDiv('',URL
> (r=request,f='profile'),timeout=0.01,_id='2')
> return (profile_form = profile_form )
> def edit():
>     user_profile=db(db.user_profile.owner==auth.user.id).select()[0]
>     form=SQLFORM(db.user_profile, user_profile, deletable=False)
>     if form.accepts(request.vars,session):
>        # refresh profile container
>         jDiv.set(jDiv.trigger('#target_2','load'))
>     return dict(form=form,user_profile=user_profile)
> def profile():
>     # first get our profile, if we don't yet
>     # have one, then create it
>     try:
>         profile=db(db.user_profile.owner==auth.user.id).select()[0]
>     except:
>         db.user_profile.insert(owner=auth.user.id,nickname='n00by')
>         profile=db(q_profile).select()[0]
>     return dict(profile=profile)
> index.html view:
> -----------------------------
> {{extend 'layout.html'}}
> {{=user_profile}}
> <hr/>
> {{=profile_form}}
> profile.html view:
> -------------------------
> <img width="100", height="100" src="{{ =URL
> (r=request,f='download',args=[profile.image]) }}" />
> <h4>{{=auth.user.first_name + " " + auth.user.last_name}}'s Profile</
> h4>
> <hr/><strong>Nickname: {{ =profile.nickname }}</strong><br/>
> email: {{=auth.user.email}}<br/>
> {{ =profile.bio }}
> edit.html view:
> -----------------------
> <h3>Edit profile</h3>
> {{=form}}
> <hr/>
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"web2py Web Framework" group.
To post to this group, send email to web2py@googlegroups.com
To unsubscribe from this group, send email to 
web2py+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/web2py?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to