Anthony, now I have written a small program as example :
def test1():
if "f" in request.vars:
raise HTTP(401, "f=%s" % str(request.vars.f))
form = SQLFORM.grid(db.tt,
selectable=lambda ids: None,
)
form.elements('table')[0].append(INPUT(_type='text', _name='f'))
return dict(form=form)
You are right - request.vars.f contains the value. But only if I do not use
the "selectable" values.
Now I change this program (like the example in chapter SQLFORM.grid in the
book):
def test1():
form = SQLFORM.grid(db.tt,
selectable=lambda ids: redirect(URL('test2', vars=dict(id=ids)))
)
form.elements('table')[0].append(INPUT(_type='text', _name='f'))
return dict(form=form)
def test2():
return dict(form=request.vars)
test2 shows the ids of the selected rows. But now the value of *f *is not
accessable.
What can I do to get both?
2017-12-13 16:41 GMT+01:00 Anthony <[email protected]>:
> Hard to say without seeing your code, but after processing the selected
> records, the grid does a redirect, so you have to access request.vars.f
> before defining the grid.
>
> Anthony
>
>
> On Wednesday, December 13, 2017 at 5:13:52 AM UTC-5, mweissen wrote:
>>
>> Hi Anthony,
>>
>> thank you for your answer. Of course I have tried "request.vars.f" before
>> asking my question:
>> *request.vars.f* is None and does not work for me.
>>
>> My SQLFORM.grid has a selectable argument and therefore it creates an
>> INPUT(_type="submit") button.
>> After pressing this button the form calls the page containing itself -
>> the postback works fine. But the postback link contains only something like
>>
>> *path-to-the-function-with-grid?typ=text&_signature=b8a...#*
>>
>>
>> There is no f=myinput, nothing coming from my INPUT(_type='text',
>> _name='f')
>>
>> Therefore my question remains: how can I get the value from an additional
>> INPUT in a SQLFORM.grid?
>>
>>
>>
>> 2017-12-12 14:24 GMT+01:00 Anthony <[email protected]>:
>>
>>> request.vars.f
>>>
>>>
>>> On Tuesday, December 12, 2017 at 3:47:56 AM UTC-5, mweissen wrote:
>>>>
>>>> I want to add *one and only one *INPUT field to a grid (not one field
>>>> per row, but one filed for the whole grid)
>>>>
>>>> For example:
>>>>
>>>> form = SQLFORM.grid(....)
>>>> form.elements('table')[-1].append(INPUT(_type='text', _name='f'))
>>>>
>>>> Maybe there is a better solution, but it works.
>>>>
>>>> My question is: how can I get the value of the input field f?
>>>> form.vars.f does not work of course.
>>>>
>>>> Regards, Martin
>>>>
>>>>
>>>> --
>>> 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.
>>>
>>
>>
>> --
> 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.
>
--
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.