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.

Reply via email to