After posting a form and being returned to it because of a validation
error, my SelectWidget fields are not being set to their posted values.
 Text fields are being set.  Here is a partial setup similar to mine.

widget1 = widgets.TextField(name='title',
          validator=validators.PlainText(strip=True, not_empty=True),
          attrs=dict(size=50))
widget2= widgets.SelectField(name='test',
                               options=[['', 'Not Selected'],
                                        [1, "Apple"],
                                        [2, "Orange"]])
form = widgets.TableForm(widgets=[widget1, widget2], submittext='Save')

class Root(controllers.Controller):

    @turbogears.expose(html="templates.index")
    def index(self):
        return dict(form=form)

    @turbogears.expose(inputform=form)
    def save(self, title, test):
        if cherrypy.request.form_errors:
            return self.index()
        turbogears.flash("Changes saved!")
        raise cherrypy.HTTPRedirect("/")

Reply via email to