You were right Anthony - I have forgotten 'name' variable in HTML input
node, I was appending. After adding it - it gave me my post variable via
request.post_vars with no problem.
You are the mannn! Thanks a lot of your kind and quick support. It is
amazing how your answers make a difference!!!
On Tuesday, February 11, 2014 12:57:03 AM UTC+3, Anthony wrote:
>
> Are you sure you're client side code is working? Check the browser
> developer tools to see what variables are being sent to the server with the
> POST request. Any post variables should end up in request.post_vars.
>
> Anthony
>
> On Monday, February 10, 2014 2:14:57 PM UTC-5, Andrey K wrote:
>>
>> Thanks Anthony for your quick reply! I am not sure that I have understand
>> you though.
>>
>> Do you mean I can get values from aggregated form in default.py as shown
>> below, if so I still don't get the added values. Should l 'mark' them some
>> how so they get into post_vars? If you mean other way, could you please
>> give me a bit more details on it so I get it.
>> Thank you.
>>
>> def test_view():
>> fields=[Field('your_script', 'upload')]
>> form =
>> SQLFORM.factory(db.tool,*fields,table_name='tool_upload_tab').process()
>> if form.accepted:
>> response.flash = *request.post_vars* # it gives me the same as
>> form.vars
>>
>>
>> On Monday, February 10, 2014 7:53:58 PM UTC+3, Anthony wrote:
>>>
>>> form.vars will include only fields defined in the form object (things
>>> you do on the client will not affect the form object on the server). The
>>> extra variables will be available in request.post_vars, so you could
>>> include logic to check request.post_vars and add fields to SQLFORM.factory
>>> based on the variables that have been submitted.
>>>
>>> Anthony
>>>
>>> On Monday, February 10, 2014 11:42:34 AM UTC-5, Andrey K wrote:
>>>>
>>>> Dear web2py users,
>>>> I would like to add dynamically fields to SQLFORM.factory defined in
>>>> the model in client side by jQuery and then get the added fields values
>>>> back to db (by "if form.accepted") via the standard form submit ,embedded
>>>> in SQLFORM.factory . It does not seems to work on the server side - I
>>>> can't get my values via form.vars.X where UI shows me new fields .
>>>> Any idea what is wrong? Is the any other/better way to do it? Any your
>>>> advice would be very helpful.
>>>>
>>>> Here is my code:
>>>> *default.py:*
>>>> def test_view():
>>>> fields=[Field('your_script', 'upload')]
>>>> form =
>>>> SQLFORM.factory(db.tool,*fields,table_name='tool_upload_tab').process()
>>>> if form.accepted:
>>>> response.flash = form.vars #! it does not bring me any new
>>>> variables apart from the ones i have got from defatul.py
>>>> return dict(form=form)
>>>>
>>>> *default\test_view.html*
>>>> {{extend 'layout.html'}}
>>>> {{=form}}
>>>> <input type="button" value="Add Filed to Table" class="add"
>>>> id="addTable" />
>>>> <script type="text/javascript">
>>>> $(document).ready(function() {
>>>> $("#addTable").click(function(){
>>>> var fieldWrapper = $('<tr
>>>> id="tool_upload_tab_extrafield1__row"></tr>');
>>>> var fName0 = $("<td><input type=\"text\"
>>>> id=\"tool_upload_tab_field1_value\" class=\"fieldname\" /></td>");
>>>> var fName1 = $("<tr><td><input type=\"text\"
>>>> id=\"tool_upload_tab_field1_comment\" class=\"fieldname\" /></td></tr>");
>>>> var fName2 = $("<td><input type=\"text\"
>>>> id=\"tool_upload_tab_field1_label\" class=\"fieldname\" /></td>");
>>>> fieldWrapper.append(fName0,fName1,fName2);
>>>> $('tbody').append(fieldWrapper);
>>>> });
>>>> });
>>>> </script>
>>>>
>>>>
>>>>
>>>>
>>>>
--
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.