For information, with the help of people from the tapestry-jquery module, the bug has been found.
It was located in the addScripts method of tapestry-jquery.js (v3.3.0) : the server reply "inits" wasn't executed. To resolve it, you can use tapestry-jquery v3.3.3. 2012/10/23 Thomas Cucchietti <thomas.cucchie...@gmail.com> > I'm really disappointed, but i going to give up as it seems impossible to > make it work using Tapestry "mechanics". > > I think that we have to manage everything using js : input validation / > ajax form submission / zone update. > > For information, my goal was to "simulate" a navigation using a zone > wrapped in a dialog component. > > > 2012/10/22 Thomas Cucchietti <thomas.cucchie...@gmail.com> > >> Still impossible to manage to have this zone update using the form inside >> the zone. >> >> From the browser console, I can see that the content of the partial >> render response contains what is needed for the zone to be updated : >> >> (...) >> "inits" : [ { "formEventManager" : [ { "formId" : >> "manageForm_13a8936acde", "validate" : { "submit" : >> true, "blur" : true } } ] }, { >> "linkZone" : [ { "linkId" : "manageForm_13a8936acde", >> "url" : "/my/page/url.manageform", "zoneId" : "zoneToRefresh" >> } ], >> (...) >> >> But this doesn't seem to be used. >> >> >> 2012/10/22 Thomas Cucchietti <thomas.cucchie...@gmail.com> >> >>> Hello Thiago, >>> >>> I did it by setting explicitely the "id" (on top of the "t:id") >>> parameter of the form to "manageForm", but it keeps adding some random >>> value at the end of this (for example "manageForm_13a88baf8ea"). >>> >>> Something is missing for the clientid to be static? >>> >>> >>> 2012/10/22 Thiago H de Paula Figueiredo <thiag...@gmail.com> >>> >>>> Or provide explicit static ids instead of letting them be autogenerated >>>> by Tapestry. >>>> >>>> >>>> On Mon, 22 Oct 2012 11:45:18 -0200, Thomas Cucchietti < >>>> thomas.cucchie...@gmail.com> wrote: >>>> >>>> I keep on trying a way to get this working. >>>>> >>>>> In a previous discussion (see the end of Christian's answer >>>>> here<http://markmail.org/**thread/w6s3jtmwwfw6vfnx#query:** >>>>> +page:1+mid:jbwboaocfw4lkjqj+**state:results<http://markmail.org/thread/w6s3jtmwwfw6vfnx#query:+page:1+mid:jbwboaocfw4lkjqj+state:results> >>>>> >), >>>>> >>>>> a workaround for the null id could be the use of a HeartBeat to defer >>>>> the >>>>> evaluation of the client id value. >>>>> >>>>> had someone already given it a go? >>>>> >>>>> 2012/10/22 Thomas Cucchietti <thomas.cucchie...@gmail.com> >>>>> >>>>> I tried to manually link the zone to the form, but with no success. >>>>>> >>>>>> @BeginRender >>>>>> void fixZoneAjaxSupport() { >>>>>> Link link = resources.createEventLink("**manualLinkToZone", >>>>>> null); >>>>>> clientBehaviorSupport.**linkZone("manageForm", >>>>>> "zoneToRefresh", >>>>>> link); >>>>>> } >>>>>> >>>>>> >>>>>> The "linkzone" in Tapestry.init() is updated and contains : >>>>>> >>>>>> { >>>>>> "linkId" : "manageForm", >>>>>> "url" : "/my/url/to/page:**manualLinkToZone", >>>>>> "zoneId" : "zoneToRefresh" >>>>>> } >>>>>> >>>>>> However, as the manageForm has random generated number added to its >>>>>> client >>>>>> id, it won't be taken into account... >>>>>> >>>>>> Even if I inject the manageForm into my page, as it isn't initially >>>>>> present in the page but only after a first zone update, it's null and >>>>>> I >>>>>> have no way to know the exact client id of my form. >>>>>> >>>>>> After some additional search (thanks markmail!), it seems that this >>>>>> clientId will always be uniquefied as the form is contained in the >>>>>> zone. >>>>>> >>>>>> Anybody has a clue on my first mail? or at least on the workaround I'm >>>>>> trying to find? >>>>>> >>>>>> Thomas >>>>>> >>>>>> >>>>>> 2012/10/22 Thomas Cucchietti <thomas.cucchie...@gmail.com> >>>>>> >>>>>> Hello, >>>>>>> >>>>>>> Is the following behavior intended, as it may be a bug ? >>>>>>> >>>>>>> With this structure : >>>>>>> >>>>>>> <t:zone t:id="zoneToRefresh" id="zoneToRefresh"> >>>>>>> <t:delegate to="activeBlock"/> >>>>>>> </t:zone> >>>>>>> >>>>>>> <t:block t:id="empty"> >>>>>>> <!-- empty block --> >>>>>>> </t:block> >>>>>>> >>>>>>> <t:block t:id="manageBlock"> >>>>>>> <t:form t:id="manageForm" zone="zoneToRefresh"> >>>>>>> <t:radiogroup t:value="manage"> >>>>>>> <input type="radio" t:type="radio" t:value="true"/> >>>>>>> Yes >>>>>>> <input type="radio" t:type="radio" t:value="false"/> >>>>>>> No >>>>>>> </t:radiogroup> >>>>>>> >>>>>>> <t:submit value="Submit form"/> >>>>>>> </t:form> >>>>>>> </t:block> >>>>>>> >>>>>>> (I don't have included the button that refresh the zone the first >>>>>>> time) >>>>>>> >>>>>>> The method getActiveBlock() return the emptyBlock when the page >>>>>>> initially >>>>>>> loads, then it returns the manageBlock once the refresh button is >>>>>>> hit. >>>>>>> >>>>>>> The problem is that the form contained in the manageBlock doesn't >>>>>>> refresh >>>>>>> the zone in Ajax, and reload the whole page instead. >>>>>>> >>>>>>> From what I've searched, it seems that, when the manage block is >>>>>>> rendered, the "zone" parameter of the manageForm is null (see line >>>>>>> 356 of >>>>>>> Form.class, in beginRender method) whereas it should be valued with >>>>>>> the >>>>>>> zoneToRefresh. >>>>>>> >>>>>>> I have already encoutered similar errors : the forms and actionlinks >>>>>>> that >>>>>>> should fire ajax reloads, fire page reload instead when they have >>>>>>> not been >>>>>>> rendered at the initial page loading. >>>>>>> >>>>>>> Regards, >>>>>>> Thomas >>>>>>> >>>>>>> >>>>>> >>>>>> >>>> >>>> -- >>>> Thiago H. de Paula Figueiredo >>>> >>>> ------------------------------**------------------------------** >>>> --------- >>>> To unsubscribe, e-mail: >>>> users-unsubscribe@tapestry.**apache.org<users-unsubscr...@tapestry.apache.org> >>>> For additional commands, e-mail: users-h...@tapestry.apache.org >>>> >>>> >>> >> >