Now I got it... theoython {{ is rendered befor the js....
Thanks.
On Wednesday, January 1, 2014 2:22:24 AM UTC+2, Anthony wrote:
>
> 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 [email protected].
For more options, visit https://groups.google.com/groups/opt_out.