Strange. How about
{{=request.vars.country or form.custom.inpval['country']}}
On Monday, 13 January 2014 11:13:33 UTC-6, [email protected] wrote:
>
> Massimo,
> Yes, I did. Does not make a difference.
>
> Thanks for the suggestion,
> Kiran
>
> On Monday, January 13, 2014 7:49:15 PM UTC+5:30, Massimo Di Pierro wrote:
>>
>> Have you tried replacing
>>
>> value="{{=form.custom.inpval['country']}}"
>>
>> with
>>
>> value="{{=form.custom.dspval['country']}}"
>>
>> On Sunday, 12 January 2014 22:50:43 UTC-6, [email protected] wrote:
>>>
>>> Really would like some help with this. Anyone have suggestions?
>>> Thank you,
>>> Kiran
>>>
>>> On Saturday, January 11, 2014 12:10:07 AM UTC+5:30,
>>> [email protected] wrote:
>>>>
>>>> Hello All,
>>>> The *design *is: I have a custom form with the a controller that
>>>> inserts/updates a table. Tthe form accepts data, and on successful
>>>> submission of this form, it stays on the same page (there are no redirects
>>>> to another page or form)
>>>> *Issue*: The problem am seeing is, when I update values in the form,
>>>> and submit it, the entered values are lost when the form returns because
>>>> of
>>>> successful submit, or due to errors. I have tried to use keepvalues=True
>>>> in
>>>> the form.accepts() and form.process() methods. No luck.
>>>> Details below.
>>>>
>>>> Since the page am building has specific design needs, I went with the
>>>> option of a custom form, where I used the form.custom.* options quite a
>>>> bit. Therefore input fields in the form look like this
>>>> <input type="text" class="form-control
>>>> {{if form.errors.country:}}invalidinput{{pass}}"
>>>> id="country" name="country"
>>>> value="{{=form.custom.inpval['country']}}"
>>>> placeholder="{{=form.custom.comment['country']}}"
>>>>
>>>> Also the controller is coded as below
>>>> x = db(db.x.x_id == auth.user.id).select().first()
>>>> if x:
>>>> form = SQLFORM(db.x, record=x)
>>>> else:
>>>> form = SQLFORM(db.x)
>>>> pass
>>>>
>>>>
>>>> # process the form
>>>> if form.accepts(request.vars, formname='basicinfo_form', keepvalues
>>>> =True):
>>>> response.flash = 'Basic Information updated successfully.'
>>>> elif form.errors:
>>>> response.flash = 'The submitted form contains errors. The
>>>> fields in error are highlighted below.'
>>>> else:
>>>> response.flash = 'Please fill the form.'
>>>> pass
>>>>
>>>> return dict(form=form)
>>>>
>>>> I was thinking that maybe I should capture the request.vars and send it
>>>> back to the view alongwith the form.
>>>> If the request.vars.country value exists, then I use that, instead of
>>>> the form.custom.inpval['country']. This only makes the view code a bit
>>>> more
>>>> verbose, but if it solves the problem, then nothing like it.
>>>>
>>>> Can anyone suggest what I could do to sort this out?
>>>> Thank you,
>>>> Kiran
>>>>
>>>> P.S: I did take a look at all the conversations in the forum about
>>>> keepvalues. None of them seemed to help me. Though I did find this one to
>>>> be interesting and am curious if this is sorted out already:
>>>> https://groups.google.com/forum/#!searchin/web2py/keepvalues$20on$20validate/web2py/MNEYo96Shzg/jjKZaMmfAgQJ
>>>>
>>>>
--
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
---
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 [email protected].
For more options, visit https://groups.google.com/groups/opt_out.