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