It appears you are trying to mix Python and Javascript. Note, everything inside the {{...}} must be Python and gets executed on the server. Adding the org_code variable must be done in Javascript, so it would be:
var url = '{{=URL('default', 'org_form_load.load')}}'; $.web2py.component(url + '/' + org_code, 'org_form_target'); Anthony On Tuesday, December 31, 2013 2:38:37 PM UTC-5, Avi A wrote: > > 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.