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