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
>>>>>
>>>>
--