Hi Carlos, Ah is just see that i just missed adding the following code :- ajaxResponseRenderer.addRender(zone1).addRender(zone2); This will work for sure :)
Answer for your question: Yes we have to bind the form under the zone if you want it to be ajax: Taken from Tapestry doc:- the zone parameter will cause the form submission to be handled as an Ajax request that updates the indicated zone. Often a Form will update the same zone that contains it. Just remove the javascript that you use , as tapestry provides you with an inbuilt solution as above. You donot specifically need to do event.preventDefault(); Try it out. Regards Akshay On Thu, Dec 11, 2014 at 8:27 AM, Carlos Gómez Montiel <ibe...@gmail.com> wrote: > Any last question: > > Have you ALWAYS wrap an ajax form inside a zone like below? > > <t:zone t:id='zone1' id='zone1'> > <t:form t:id='form1' t:zone="^"> > <t:submit value="send"/> > </t:form> > </t:zone> > > In my first example the form isn't wrapped but it works fine. I wonder if > it is correct: > <t:form t:id='form1' t:zone='zone1'> > <t:submit value="send"/> > </t:form> > > <t:zone t:id='zone1' id='zone1'> > </t:zone> > > > Thanks in advance > > > 2014-12-11 0:05 GMT-06:00 Carlos Gómez Montiel <ibe...@gmail.com>: > > > George, yes I'm using tapestry-jquery but in the links you wrote is the > > solution: > > > > $("#form1").submit(function(event) { > > event.preventDefault(); > > event.stopImmediatePropagation(); // it prevents the submit hit > > }); > > > > Thank you for your feedback and comments. > > > > > > > > 2014-12-10 23:20 GMT-06:00 George Christman <gchrist...@cardaddy.com>: > > > > hmm I see your using jquery and I know 3.7 uses prototype. Are you using > >> Tapestry-Jquery or bringing in jquery with no conflict? > >> > >> You can write your own mixin to handle this, your not required to have > to > >> use 5.4 to get this to work. > >> > >> Here's an example of how Tapestry-Jquery is getting this to work using > >> jquery in 3.7 > >> > >> http://tapestry5-jquery.com/mixins/docsconfirm > >> > >> > >> > https://github.com/got5/tapestry5-jquery/blob/v3.3.7/src/main/java/org/got5/tapestry5/jquery/mixins/Confirm.java > >> > >> > >> > https://github.com/got5/tapestry5-jquery/blob/v3.3.7/src/main/resources/org/got5/tapestry5/jquery/assets/mixins/confirm/confirm.js > >> > >> On Thu, Dec 11, 2014 at 12:06 AM, Carlos Gómez Montiel < > ibe...@gmail.com> > >> wrote: > >> > >> > Thank you for your answer George: > >> > > >> > > The other more recommended way if it's just a simple confirm box is > to > >> > use the confirm mixin > >> > I'm using tapestry 5.3.7 > >> > > >> > I had change my example with your recomendations: > >> > > >> > .tml > >> > <head> > >> > <script> > >> > $(document).ready(function() { > >> > $("#form1").submit(function() { > >> > return false; > >> > }); > >> > }); > >> > </script> > >> > </head> > >> > > >> > <t:zone t:id="zone1" id="zone1"> > >> > <t:form t:id='form1' t:zone='^'> > >> > <t:submit value="enviar"/> > >> > </t:form> > >> > </t:zone> > >> > > >> > <t:zone t:id='zone2' id='zone2'> > >> > </t:zone> > >> > > >> > .java > >> > @Inject > >> > private AjaxResponseRenderer ajaxResponseRenderer; > >> > @InjectComponent > >> > private Zone zone2; > >> > > >> > void onSelected() { > >> > ajaxResponseRenderer.addRender(zone2); > >> > } > >> > > >> > > >> > But the effect is the same, the ajax post is sent to server. Anyone > can > >> > help me how can I stop the ajax form submit? > >> > > >> > Thanks in advance > >> > > >> > 2014-12-10 22:25 GMT-06:00 George Christman <gchrist...@cardaddy.com > >: > >> > > >> > > Take a look at this page, it will show you the life cycle of the > >> tapestry > >> > > methods. You are returning zone2 in your onSuccess method. and > >> probably > >> > > should use onSelected > >> > > > >> > > > >> > > > >> > > >> > http://jumpstart.doublenegative.com.au/jumpstart7/examples/navigation/whatiscalledandwhen > >> > > > >> > > One way to do it to use an event handler and on the backend return > the > >> > zone > >> > > from the event handler. example > >> > > > >> > > <t:submit t:event="confirm"/> > >> > > > >> > > Object onConfirm() { > >> > > return yourZone; > >> > > } > >> > > > >> > > The other more recommended way if it's just a simple confirm box is > to > >> > use > >> > > the confirm mixin. This will prevent the loop to the backend and > just > >> do > >> > > everything in the UI via javascript. > >> > > > >> > > <t:submit t:mixins="confirm" message="some message" title="some > >> title"/> > >> > > > >> > > > >> > > > >> > > >> > https://github.com/apache/tapestry-5/blob/5.4-beta-22/tapestry-core/src/main/java/org/apache/tapestry5/corelib/mixins/Confirm.java > >> > > > >> > > On Wed, Dec 10, 2014 at 7:28 PM, Carlos Gómez Montiel < > >> ibe...@gmail.com> > >> > > wrote: > >> > > > >> > > > Hi akshay, thank you for your answer. > >> > > > > >> > > > I had changed my example with your recomendation but the problem > >> > persist > >> > > > and the ajax post is sent when you press the submit: > >> > > > > >> > > > Test.tml > >> > > > <head> > >> > > > <script> > >> > > > $(document).ready(function() { > >> > > > $("#form1").submit(function(e) { > >> > > > return false; > >> > > > }); > >> > > > }); > >> > > > </script> > >> > > > </head> > >> > > > > >> > > > <t:zone t:id="zone1" id="zone1"> > >> > > > <t:form t:id='form1' t:zone='^'> > >> > > > <t:submit value="enviar"/> > >> > > > </t:form> > >> > > > </t:zone> > >> > > > > >> > > > <t:zone t:id='zone2' id='zone2'> > >> > > > ${name} > >> > > > </t:zone> > >> > > > > >> > > > Test.java > >> > > > @Inject > >> > > > private AjaxResponseRenderer ajaxResponseRenderer; > >> > > > @InjectComponent > >> > > > private Zone zone1, zone2; > >> > > > > >> > > > @Log > >> > > > public String getName() { > >> > > > return "bierck" + Math.random(); > >> > > > } > >> > > > > >> > > > > >> > > > void onSuccess() { > >> > > > ajaxResponseRenderer.addRender(zone2); > >> > > > } > >> > > > > >> > > > > >> > > > Anyone can help me? how can I prevent the ajax form's submit ? > >> > > > > >> > > > Thank you > >> > > > > >> > > > 2014-12-10 16:45 GMT-06:00 akshay <akshayestat...@gmail.com>: > >> > > > > >> > > > > Hi, > >> > > > > > >> > > > > your structure should look like this: > >> > > > > .tml strcuture:- > >> > > > > > >> > > > > <t:zone t:id='zone1' id='zone1'> > >> > > > > <t:form t:id='form1' t:zone="^"> > >> > > > > <t:submit value="send"/> > >> > > > > </t:form> > >> > > > > </t:zone> > >> > > > > > >> > > > > <t:zone t:id='zone2' id='zone2'> > >> > > > > Your Content > >> > > > > </t:zone> > >> > > > > > >> > > > > > >> > > > > > >> > > > > The .java file structure > >> > > > > @InjectComponent > >> > > > > private Zone zone1,zone2; > >> > > > > @Inject > >> > > > > private AjaxResponseRender > >> > > > > OnSuccess(){ > >> > > > > ajaxResponseRenderer.addRender(zone2) or zone2.getBody(); > >> > > > > } > >> > > > > > >> > > > > Regards > >> > > > > Akshay > >> > > > > > >> > > > > On Wed, Dec 10, 2014 at 11:25 PM, Carlos Gómez Montiel < > >> > > ibe...@gmail.com > >> > > > > > >> > > > > wrote: > >> > > > > > >> > > > > > Thank you for your answer George. > >> > > > > > > >> > > > > > > Are you trying to create an ajax form submit? If so, you > >> should > >> > be > >> > > > > > wrapping the form with the zone > >> > > > > > > >> > > > > > Yes, I'm trying to create an ajax form submit, I don't > >> understand > >> > > why I > >> > > > > > should be wrapping the form with the zone, what is the reason? > >> as > >> > > far I > >> > > > > > know in my example I'm sending the form via ajax and then > >> > refreshing > >> > > > the > >> > > > > > zone 'zone1' returning the zone1's body in the onsuccess() > >> event in > >> > > the > >> > > > > > .java > >> > > > > > > >> > > > > > >As far as the confirm dialog goes, you could either > >> > > > > > use a confirm mixin or if you chose to use a zone style > >> approach, > >> > on > >> > > > > submit > >> > > > > > return another zone for your confirm dialog. > >> > > > > > > >> > > > > > I'm using a mixin for show the confirm dialog (with bootstrap) > >> but > >> > > > don't > >> > > > > > found how to prevent the ajax form's submit. Any one can help > me > >> > with > >> > > > it? > >> > > > > > > >> > > > > > Thanks in advance > >> > > > > > > >> > > > > > > >> > > > > > > >> > > > > > 2014-12-10 7:44 GMT-06:00 George Christman < > >> > gchrist...@cardaddy.com > >> > > >: > >> > > > > > > >> > > > > > > Are you trying to create an ajax form submit? If so, you > >> should > >> > be > >> > > > > > wrapping > >> > > > > > > the form with the zone. As far as the confirm dialog goes, > you > >> > > could > >> > > > > > either > >> > > > > > > use a confirm mixin or if you chose to use a zone style > >> approach, > >> > > on > >> > > > > > submit > >> > > > > > > return another zone for your confirm dialog. > >> > > > > > > > >> > > > > > > On Wed, Dec 10, 2014 at 3:47 AM, Carlos Gómez Montiel < > >> > > > > ibe...@gmail.com> > >> > > > > > > wrote: > >> > > > > > > > >> > > > > > > > Hi there > >> > > > > > > > > >> > > > > > > > How can I prevent ajax form's event submit when the user > >> > clicks a > >> > > > > > submit > >> > > > > > > > button? > >> > > > > > > > I need to prevent the event for show an confirm dialog > >> before > >> > it > >> > > > will > >> > > > > > be > >> > > > > > > > submited. > >> > > > > > > > > >> > > > > > > > My form: > >> > > > > > > > > >> > > > > > > > <t:form t:id='form1' t:zone='zone1'> > >> > > > > > > > <t:submit value="send"/> > >> > > > > > > > </t:form> > >> > > > > > > > > >> > > > > > > > <t:zone t:id='zone1' id='zone1'> > >> > > > > > > > </t:zone> > >> > > > > > > > > >> > > > > > > > Thanks in advance > >> > > > > > > > > >> > > > > > > > >> > > > > > > > >> > > > > > > > >> > > > > > > -- > >> > > > > > > George Christman > >> > > > > > > CEO > >> > > > > > > www.CarDaddy.com > >> > > > > > > P.O. Box 735 > >> > > > > > > Johnstown, New York > >> > > > > > > > >> > > > > > > >> > > > > > >> > > > > > >> > > > > > >> > > > > -- > >> > > > > Cheers!! > >> > > > > Akshay > >> > > > > > >> > > > > >> > > > >> > > > >> > > > >> > > -- > >> > > George Christman > >> > > CEO > >> > > www.CarDaddy.com > >> > > P.O. Box 735 > >> > > Johnstown, New York > >> > > > >> > > >> > >> > >> > >> -- > >> George Christman > >> CEO > >> www.CarDaddy.com > >> P.O. Box 735 > >> Johnstown, New York > >> > > > > > -- Cheers!! Akshay