well... it is a bug not not in web2py, in jQuery:

http://www.johnnycode.com/blog/2010/04/08/jquery-form-serialize-doesnt-post-submit-and-button-values-duh/

We cannot fork jQuery to fix this. Eventually they will fix it.

Massimo

On Aug 23, 8:46 am, Miguel Lopes <mig.e.lo...@gmail.com> wrote:
> As an update, the issue remains with the following combinations:
> * if input type='submit' and different names
> * if input type='button', with or without different name attributes
>
> However, input type='text' are present in form.vars.
>
> For the interested a solution for usage in components is to use set a hidden
> input text field via the click event of each button.
> Miguel
>
> On Mon, Aug 23, 2010 at 3:54 AM, Miguel Lopes <mig.e.lo...@gmail.com> wrote:
> > I'm using the "same name to all input type submits" technique. This is very
> > nice because it avoids some js and works like a charm :-)
> > In a regular controller the code works flawlessly. However when I try to
> > put it in a controller, it fails:
>
> > status_form = FORM(_id='status_form')
> > for status in OPPTY_STATUS:
> >     btn = INPUT(_type='submit', _name='status', _value=status,
> > _class='status_btn')
> >     status_form.append(btn)
>
> > if status_form.accepts(request.vars, session, formname='status_form'):
> >     # status_form.vars.status is None in component
> >     # status_form.vars.status corresponds to whatever submit was pressed in
> > regular controller
> > ...
>
> > It seems like the component mechanisms is ignoring the value of 'status'.
>
> > Miguel

Reply via email to