Jim,

Thanks. I had already tried that, and it doesn't work for me. I wrote a 
little controller to test it:

@auth.requires_login()
def test_vars():
   form = FORM(
       FIELDSET('Subject: ', INPUT(_name='subject')),
       FIELDSET('Other subject: ', INPUT(_name='otherSubject')),
       FIELDSET('Recipients: ', INPUT(_name='recips', )),
       FIELDSET('Message: ', TEXTAREA(_name='message')),
       INPUT(_type='submit', _value='send', _name='sendBtn'),
       INPUT(_type='submit', _value='cancel', _name='cancelBtn')
       )

   if form.accepts(request, keepvalues=True):
      response.flash = 'oky'
   elif form.errors:
      response.flash = 'form has errors'
   else:
      form.vars.subject = 'my subject'
      form.element(_name='otherSubject')['_value'] = 'other subject'

   return dict(form=form)

I have no view, so I get the default. The form I see displayed has a blank 
for the field 'subject', and the field 'otherSubject' is filled with 'other 
subject'.

Now, that said, I could *easily* believe I'm screwing something else up. If 
that example works on your system, then there's something else I'm doing 
wrong. Thoughts?

On Wednesday, October 31, 2012 5:59:26 PM UTC-6, Jim S wrote:
>
> form.vars.fieldname = 'fieldvalue'
>
>
> -Jim
>
> On Wednesday, October 31, 2012 6:13:20 PM UTC-5, MichaelF wrote:
>>
>> I have a 'regular' form (i.e., FORM, not SQLFORM). I want to prepopulate 
>> some of the fields, but I don't know the values to use for them when I 
>> first create the form. What's the best practice for populating field 
>> 'subject'? Is it using the 'element' function? For example:
>>
>> form = FORM(
>>     FIELDSET('Subject: ', INPUT(_name='subject')),
>>     FIELDSET('Recipients: ', INPUT(_name='recips', )),
>>     FIELDSET('Message: ', TEXTAREA(_name='message')),
>>     INPUT(_type='submit', _value='send', _name='sendBtn'),
>>     INPUT(_type='submit', _value='cancel', _name='cancelBtn'))
>> if form.accepts(...):
>>    ...
>> elif form.errors:
>>    ...
>> else:
>>    someCalculatedValue = some_database_call()
>>    form.element(_name='subject')['_value'] = someCalculatedValue
>>
>> Thanks.
>>
>

-- 



Reply via email to