sounds like premature optimization / I don't want to use a LOAD :P
did you try redirecting after the form with type='auto' ? (I think that 
that's a feature available in the last few releases...)

On Wednesday, November 7, 2012 11:31:09 PM UTC+1, Simon Carr wrote:
>
> I want it to be loaded with AJAX and submitted normally. The reason is two 
> fold.
>
> 1. The page needs to be refreshed after the form is submitted.
> 2. By loading the form by AJAX and Submitting normally I am at least 
> cutting full page loads down by 50%
>
> On Wednesday, 7 November 2012 21:41:23 UTC, Niphlod wrote:
>>
>> I'm loosing you (too much asked, too little information). 
>> - you have a page -->done
>> - you want a form loaded into a page --> done
>> - you want it to be submitted to the url that is loaded from --> done (if 
>> it's loaded through ajax, that means that you don't want to reload the main 
>> page, so it can't be submitted with anything else)
>>
>> now what ?
>>
>> On Wednesday, November 7, 2012 10:34:48 PM UTC+1, Simon Carr wrote:
>>>
>>> Your right. Thanks mate. I was getting confused over cid. But anyway it 
>>> works great for creating the form.
>>>
>>> I notice that the form also submits via AJAX. How do I make it submit 
>>> normally so that I can have the page refreshed? I need the users list of 
>>> subscribed Charts and some other details to be updated after submitting the 
>>> form.
>>>
>>> Thanks
>>> Simon
>>>
>>> On Wednesday, 7 November 2012 21:04:35 UTC, Niphlod wrote:
>>>>
>>>> doesn't it already (provided that there is a <div id='whatever'></div> 
>>>> in the page) ?
>>>>
>>>> On Wednesday, November 7, 2012 9:36:27 PM UTC+1, Simon Carr wrote:
>>>>>
>>>>> Thank you, but how do I implement this in my view so that it loads the 
>>>>> form into a div when the link is clicked?
>>>>>
>>>>> On Wednesday, 7 November 2012 20:00:52 UTC, Niphlod wrote:
>>>>>>
>>>>>> Wait a sec. callback and target are meant to load a fragment via 
>>>>>> ajax, but that doesn't "fire" all the logic needed to intercept FORMs 
>>>>>> etc. 
>>>>>> _callback and _target are meant roughly as an "onclick" under 
>>>>>> steroids. (under the hood it translates to an onclick="ajax(url, 
>>>>>> target)")
>>>>>>
>>>>>> What you're trying to achieve is probably offered by the LOAD helper, 
>>>>>> that can be exploited in an A() using _href and cid
>>>>>>
>>>>>> A('Add to My Charts',_href=URL('subscribe_form',vars={'chartname': 
>>>>>> 'whatever'}), cid='whatever')
>>>>>>
>>>>>> That will load the component and trap all links and form submissions, 
>>>>>> because it translates to an onclick="web2py_component(url, target)"
>>>>>>
>>>>>>
>>>>>> On Wednesday, November 7, 2012 8:39:50 PM UTC+1, Simon Carr wrote:
>>>>>>>
>>>>>>> The URL with the form in 
>>>>>>> is web2py_xlchart_dashboard/charts/user_charts so without an action it 
>>>>>>> will 
>>>>>>> submit to *user_charts*, but I need it to submit to* subscribe_form 
>>>>>>> *which is the function that was called by AJAX to generate the Form.
>>>>>>>
>>>>>>> or am I not understanding something?
>>>>>>>
>>>>>>> Simon
>>>>>>>
>>>>>>> On Wednesday, 7 November 2012 19:26:46 UTC, Derek wrote:
>>>>>>>>
>>>>>>>> Why would you need to create an action for the form? Are you not 
>>>>>>>> using self submit?
>>>>>>>>
>>>>>>>> On Wednesday, November 7, 2012 12:22:03 PM UTC-7, Simon Carr wrote:
>>>>>>>>>
>>>>>>>>> I have this piece of code that calls a function in my controller 
>>>>>>>>> when clicked.
>>>>>>>>>
>>>>>>>>> {{=A('Add to My Charts',callback=URL('subscribe_form',vars={
>>>>>>>>> 'chartname':chart.chartName}),target=str(chart.chartName).replace(
>>>>>>>>> '.','_'))}}
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> The subscribe_form function looks like this
>>>>>>>>>
>>>>>>>>> def subscribe_form():
>>>>>>>>>     
>>>>>>>>>     form = 
>>>>>>>>> SQLFORM(db.user_chart,fields=['title','description'],hidden=dict(chartname=request.vars['chartname']))
>>>>>>>>>     if form.process().accepted:
>>>>>>>>>         response.flash = 'form accepted'
>>>>>>>>>     elif form.errors:
>>>>>>>>>         response.flash = 'form has errors'
>>>>>>>>>     else:
>>>>>>>>>         response.flash = 'please fill out the form'
>>>>>>>>>     return form
>>>>>>>>>
>>>>>>>>> The Form is created by AJAX, but it's action is blank.
>>>>>>>>>
>>>>>>>>> Do I have to specify the action myself if I am build a Form via 
>>>>>>>>> AJAX?
>>>>>>>>>
>>>>>>>>> Simon
>>>>>>>>>
>>>>>>>>

-- 



Reply via email to