Hard to say without seeing more code, but note that the widgets are 
constructed before any database IO, so any database changes from the 
current submission will not be reflected in the returned copy of the form.

Anthony

On Thursday, February 18, 2016 at 3:40:32 PM UTC-5, Ian W. Scott wrote:
>
> I've got a custom select widget class that is working nicely except that 
> when I submit a form via ajax the refreshed widget shows the old 
> (pre-submission) field value. But the changes have been made properly to 
> the database. If I refresh the page containing the form (not via ajax) the 
> new correct value appears. It's just when the field is refreshed after ajax 
> submission that the old value re-appears. To be clear, I
>
> 1. change the value for a field using my select widget
> 2. submit the form via ajax (preserving the values normally)
> 3. when the form refreshes my select widget shows the original (wrong) 
> value
> 4. I refresh the whole page and the select widget now shows the changed 
> (correct) value
>
> I set up the widget (called AjaxSelect) like this:
>
> db.lemmas.extra_tags.widget = lambda field, value: AjaxSelect(field, value,
>                                 
>                                                              indx=1, 
> multi='basic', lister='simple', orderby='tag'
>                                                                               
>                
> ).widget()
>
> I can't see where the problem is in my own code because the wrong value is 
> received right when the AjaxSelect class is instantiated. There's obviously 
> something about the process of preserving form values that I don't 
> understand.
>
> Thanks,
>
> Ian
>

-- 
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/d/optout.

Reply via email to