Because if the hidden id field is in your request.post_vars, the
record's new data was submitted.

On Fri, Aug 30, 2013 at 10:43 AM, Denis Sh <shapovalovde...@gmail.com> wrote:
> Hm, I thought that form = SQLFORM(db.person, record) , i.e. parameter
> 'record' indicates that, so why duplicate that in view?
>
>
> On Fri, Aug 30, 2013 at 3:43 PM, Vinicius Assef <vinicius...@gmail.com>
> wrote:
>>
>> Because SQLFORM uses this field to know you're editing not inserting a
>> record.
>>
>> On Fri, Aug 30, 2013 at 5:27 AM,  <shapovalovde...@gmail.com> wrote:
>> > Thanks, I indeed missed that hidden field with record id. From the book:
>> > "Edit forms also contain a hidden INPUT field with name="id" which is
>> > used
>> > to identify the record. "
>> >
>> > Though I don't really understand why we need that field as record id is
>> > kept
>> > server-side anyway.
>> >
>> >
>> > On Thursday, August 29, 2013 4:32:52 PM UTC+3, viniciusban wrote:
>> >>
>> >> It would be nice if you show your view.
>> >>
>> >> Probably you're missing a hidden field in second form with the record
>> >> id.
>> >>
>> >> On Thu, Aug 29, 2013 at 10:12 AM,  <shapova...@gmail.com> wrote:
>> >> > Hi!
>> >> >
>> >> > I have an issue with UPDATE form. I'm trying to implement something
>> >> > like
>> >> > enrollment form that has man field beyond standard name, email, etc.
>> >> > For
>> >> > the
>> >> > sake of usability I've decided to split it to two steps (i.e.
>> >> > controllers -
>> >> > pages): first asks user for name and email, and after user submits
>> >> > it,
>> >> > he/she gets redirected to the second controller with UPDATE form for
>> >> > the
>> >> > same record, inserted with previous form.
>> >> >
>> >> > Btw, at first I thought of having a one page form and presenting it
>> >> > in
>> >> > parts
>> >> > with help of JS, but I've decided to go with back end, to have even
>> >> > partially submitted data in database.
>> >> >
>> >> > def firstform():
>> >> >     form = SQLFORM(db.person, fields = ['email','name'])
>> >> >     if form.process(session=None, formname='begin_form').accepted:
>> >> >         session.person_id = form.vars.id
>> >> >         session.flash = 'form accepted'
>> >> >         redirect(URL('endjoin'))
>> >> >     elif form.errors:
>> >> >         response.flash = 'form has errors'
>> >> >     else:
>> >> >         response.flash = 'please fill the form'
>> >> >     return dict()
>> >> >
>> >> > # and
>> >> > def secondform():
>> >> >     record = db.person(session.person_id) or redirect(URL('index'))
>> >> >     form = SQLFORM(db.person, record, fields =
>> >> > ['address','phone','many_more_fields'])
>> >> >     if form.process(session=None, formname='end_form').accepted:
>> >> >         response.flash = 'form accepted'
>> >> >     elif form.errors:
>> >> >         response.flash = 'form has errors'
>> >> >     else:
>> >> >         response.flash = 'please fill the form'
>> >> >     return dict()
>> >> >
>> >> > The problems is that second action 'firstform' makes insert, instead
>> >> > of
>> >> > update to the record inserted by first action 'secondform'. Though
>> >> > 'record'
>> >> > contains reference to last add row, which should be
>> >> > updated(completed).
>> >> > I'm
>> >> > not passing form to the view, I use custom html to present my forms,
>> >> > because
>> >> > I didn't find a way to make helpers specify input type='email',
>> >> > placeholder,
>> >> > size and other HTML5 form parts attributes.
>> >> >
>> >> > --
>> >> >
>> >> > ---
>> >> > You received this message because you are subscribed to the Google
>> >> > Groups
>> >> > "web2py-users" group.
>> >> > To unsubscribe from this group and stop receiving emails from it,
>> >> > send
>> >> > an
>> >> > email to web2py+un...@googlegroups.com.
>> >> > For more options, visit https://groups.google.com/groups/opt_out.
>> >
>> > --
>> >
>> > ---
>> > You received this message because you are subscribed to the Google
>> > Groups
>> > "web2py-users" group.
>> > To unsubscribe from this group and stop receiving emails from it, send
>> > an
>> > email to web2py+unsubscr...@googlegroups.com.
>> > For more options, visit https://groups.google.com/groups/opt_out.
>>
>> --
>>
>> ---
>> You received this message because you are subscribed to a topic in the
>> Google Groups "web2py-users" group.
>> To unsubscribe from this topic, visit
>> https://groups.google.com/d/topic/web2py/ns0C3Upvd_c/unsubscribe.
>> To unsubscribe from this group and all its topics, send an email to
>> web2py+unsubscr...@googlegroups.com.
>>
>> For more options, visit https://groups.google.com/groups/opt_out.
>
>
> --
>
> ---
> You received this message because you are subscribed to the Google Groups
> "web2py-users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to web2py+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to