[web2py] Re: Populate a simple form (without a database)

2011-06-26 Thread Martin Weissenboeck
Thank you very much!
Martin

2011/6/25 Anthony 

> First, I think you want FORM(INPUT(_name='n')), otherwise you'll have an
> empty form.
>
> If you want to pre-populate a form using form.vars.fieldname=somevalue, you
> have to do that after the form is created, but *before* you call
> form.accepts (the form.accepts method adds the form.vars value to the INPUT
> element). See
> http://web2py.com/book/default/chapter/07#Pre-populating-the-form.
>
> If you only want to pre-populate the field after a failed form submission
> (but not when the form is initially loaded), then you could use an
> alternative method:
>
> form.element(_name='n').update(_value='MY DYNAMIC VALUE')
>
> That updates the html INPUT element directly instead of relying on
> form.accepts to add the form.vars value to the element.
>
> Anthony
>
> On Saturday, June 25, 2011 2:15:57 AM UTC-4, mweissen wrote:
>
>> Hi,
>>
>> let's say I have a simple form like the following:
>>
>> def one():
>>
>> form = FORM(_name='n')
>>
>>  if form.accepts(request.vars, session):
>>
>>  # do something
>> redirect(URL('two'))
>>
>> else:
>>
>>  *# what I want to do is something like*
>>
>>  *form.vars.n = 'MY DYNAMIC VALUE'*
>>
>>
>> return dict(form=form)
>>
>>
>>  Regards, Martin
>>
>>


[web2py] Re: Populate a simple form (without a database)

2011-06-25 Thread Anthony
First, I think you want FORM(INPUT(_name='n')), otherwise you'll have an 
empty form.
 
If you want to pre-populate a form using form.vars.fieldname=somevalue, you 
have to do that after the form is created, but *before* you call 
form.accepts (the form.accepts method adds the form.vars value to the INPUT 
element). See 
http://web2py.com/book/default/chapter/07#Pre-populating-the-form.
 
If you only want to pre-populate the field after a failed form submission 
(but not when the form is initially loaded), then you could use an 
alternative method:
 
form.element(_name='n').update(_value='MY DYNAMIC VALUE')
 
That updates the html INPUT element directly instead of relying on 
form.accepts to add the form.vars value to the element.
 
Anthony

On Saturday, June 25, 2011 2:15:57 AM UTC-4, mweissen wrote:

> Hi, 
>
> let's say I have a simple form like the following:
>
> def one():
>
> form = FORM(_name='n')
>
>  if form.accepts(request.vars, session):
>
>  # do something
> redirect(URL('two'))
>
> else:
>
>  *# what I want to do is something like*
>
>  *form.vars.n = 'MY DYNAMIC VALUE'*
>
>
> return dict(form=form)
>
>
>  Regards, Martin
>
>

[web2py] Re: Populate a simple form (without a database)

2011-06-25 Thread Massimo Di Pierro
form=SQLFORM.factory(Field('n',default='MY DYNAMIC VALUE'))
if form.acepts(request,session): redirect(URL('two))
retur dict(form=form)

On Jun 25, 1:15 am, Martin Weissenboeck  wrote:
> Hi,
>
> let's say I have a simple form like the following:
>
> def one():
>
> form = FORM(_name='n')
>
> if form.accepts(request.vars, session):
>
> # do something
> redirect(URL('two'))
>
> else:
>
> *# what I want to do is something like*
>
> *form.vars.n = 'MY DYNAMIC VALUE'*
>
> return dict(form=form)
>
> Regards, Martin