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