Still stuck with that. While this is rendered as expected on w3school "try me": (assuming org_code = 3): var a ="{{=URL('default', 'org_form_load.load/" + org_code + "')}}"; alert(a): {{=URL('default', 'org_form_load.load/3')}} on web2py it renders: /parking/default/org_form_load.load/%22%20%2B%20org_code%20%2B%20%22
((adding the encoded or decoded chars + NOT replacing the var with it's value.) Thanks. On Tuesday, December 31, 2013 12:26:43 AM UTC+2, Avi A wrote: > > I was in the direction in one of the tries... > Thanks. > > On Monday, December 30, 2013 11:17:44 PM UTC+2, Anthony wrote: >> >> "$.web2py.component('%s', 'org_form_target');" % URL('default', >> 'org_form_load.load/org_code'); >> >> is actually Python code that generates Javascript, so you cannot use it >> as you are using it. Instead, I would create the url variable separately: >> >> function insert_component(org_code) >> { >> alert(org_code); >> var url = '{{=URL('default', 'org_form_load.load/org_code')}}'; >> $.web2py.component(url, 'org_form_target'); >> } >> >> Note the URL is generated in Python, hence its inclusion within the >> {{...}} template delimiters. >> >> Anthony >> >> On Monday, December 30, 2013 3:58:10 PM UTC-5, Avi A wrote: >>> >>> It works only till the alert... >>> >>> <script> >>> function insert_component(org_code) >>> { >>> alert(org_code); >>> "$.web2py.component('%s', 'org_form_target');" % URL('default', >>> 'org_form_load.load/org_code'); >>> } >>> </script> >>> >>> On Monday, December 30, 2013 8:27:00 PM UTC+2, Avi A wrote: >>>> >>>> ok thanks. >>>> >>>> On Monday, December 30, 2013 8:24:04 PM UTC+2, Anthony wrote: >>>>> >>>>> Oops, sorry. You'll need to do something more sophisticated. Create an >>>>> onkeyup handler that retrieves the value in the input and appends it to >>>>> the >>>>> URL of the form action (i.e., /default/org_form_load.load/some_name). >>>>> Then >>>>> call $.web2py.component() with that URL, and in the org_form_load action, >>>>> use request.args(0) instead of request.vars.name. >>>>> >>>>> Anthony >>>>> >>>>> On Monday, December 30, 2013 12:56:19 PM UTC-5, Avi A wrote: >>>>>> >>>>>> How is the "name" (input value) is passed in this component >>>>>> template/case? (i click the code and the form won't load into the page.). >>>>>> >>>>>> On Monday, December 30, 2013 7:49:32 PM UTC+2, Avi A wrote: >>>>>>> >>>>>>> Thanks. I will look into it. >>>>>>> Happy new year! and thanks for all the awesome support! >>>>>>> >>>>>>> On Monday, December 30, 2013 7:47:48 PM UTC+2, Anthony wrote: >>>>>>>> >>>>>>>> The form won't get submitted to the org_form_load action, but >>>>>>>> instead will get submitted to the action of the parent page. You have >>>>>>>> to >>>>>>>> trap the form submission and submit back to the org_form_load action. >>>>>>>> Rather than using the ajax() function to load a form, you're better >>>>>>>> off >>>>>>>> loading the form via an Ajax component: >>>>>>>> >>>>>>>> onkeyup="{{="$.web2py.component('%s', 'org_form_target');" % >>>>>>>> URL('default', 'org_form_load.load')}}" >>>>>>>> >>>>>>>> Anthony >>>>>>>> >>>>>>>> On Monday, December 30, 2013 12:18:33 PM UTC-5, Avi A wrote: >>>>>>>>> >>>>>>>>> Thanks, >>>>>>>>> It solved the error getting after the form is loaded into the page, >>>>>>>>> but still nothing happen if I submit the form. >>>>>>>>> This is what I do: >>>>>>>>> if form.process().accepted: >>>>>>>>> response.flash = 'Success!' >>>>>>>>> elif form.errors: >>>>>>>>> response.flash = 'response errors' >>>>>>>>> >>>>>>>>> >>>>>>>>> On Monday, December 30, 2013 6:14:57 PM UTC+2, Anthony wrote: >>>>>>>>>> >>>>>>>>>> The form is not accepted when it is first created, so you will >>>>>>>>>> always get that error message. Instead, you want: >>>>>>>>>> >>>>>>>>>> elif form.errors: >>>>>>>>>> response.flash = 'There was an error..' >>>>>>>>>> >>>>>>>>>> Anthony >>>>>>>>>> >>>>>>>>>> On Monday, December 30, 2013 10:21:58 AM UTC-5, Avi A wrote: >>>>>>>>>>> >>>>>>>>>>> Hi, >>>>>>>>>>> I have this on the view: >>>>>>>>>>> >>>>>>>>>>> <div> >>>>>>>>>>> <input name="name" onkeyup="ajax('org_form_load.load', >>>>>>>>>>> ['name'], 'org_form_target')" /> >>>>>>>>>>> </div> >>>>>>>>>>> <div id = "org_form_target"></div> >>>>>>>>>>> >>>>>>>>>>> and something like this on the controller: >>>>>>>>>>> >>>>>>>>>>> def org_form_load(): >>>>>>>>>>> org_code = request.vars.name >>>>>>>>>>> org_code_name = db(......).select(..............) >>>>>>>>>>> if org_code_name: >>>>>>>>>>> db.t_org_members.f_org_member.default = auth.user.id >>>>>>>>>>> form = >>>>>>>>>>> SQLFORM(db.t_org_members,onupdate=auth.archive,submit_button= >>>>>>>>>>> 'something.......') >>>>>>>>>>> if form.process().accepted: >>>>>>>>>>> response.flash = 'Success!' >>>>>>>>>>> else: >>>>>>>>>>> response.flash = 'There was an error..' >>>>>>>>>>> return dict(form = form, org_code_name = org_code_name) >>>>>>>>>>> and on the org_form_load: >>>>>>>>>>> >>>>>>>>>>> {{=form}} >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> (Before moving the form into the load page, everything went >>>>>>>>>>> fine.) >>>>>>>>>>> After moving the form to the load page, this is what it does: >>>>>>>>>>> User fill correctly the organization code. >>>>>>>>>>> The form appears as expected, (but not submitted yet) >>>>>>>>>>> BUT I already get the " response.flash = 'There was an error..' >>>>>>>>>>> ". >>>>>>>>>>> If I try to submit the form nothing flashes and form is not >>>>>>>>>>> submitted either. >>>>>>>>>>> Help please... >>>>>>>>>>> Thanks. >>>>>>>>>>> >>>>>>>>>> -- 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 web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.