Hi, 1. If your javascript code is located after the zone, than you can make a getter getZoneId(){ return zone.getClientId();} and use it in the javascript with a property expression ${zoneId}.
2. Of you want to provide the exact zone id it is possible <t:Dialog t:clientId="loginDialog" t:title="${shortTitle}" > <t:zone t:id="loginZone" id="${loginZone}"> <form t:type="Form" t:id="loginForm" id="loginForm" class="loginForm" title="${res.Login}" t:zone="${loginZone}"> <table align="center"> <tr> <td colspan="2"><t:errors /></td> </tr> .... some other form elements ..... </table> </form> </t:zone> </t:Dialog> Java public String getLoginZone(){ return "loginZone"; } 3. There is another solution in your case. You can use the '^' symbol to tell the form to bind to the surrounding zone see here in the documentation. http://tapestry.apache.org/ajax-and-zones.html#AjaxandZones-ZoneComponentIdvs.ZoneElementId <t:Dialog t:clientId="loginDialog" t:title="${shortTitle}" > <t:zone t:id="loginZone"> <form t:type="Form" t:id="loginForm" id="loginForm" class="loginForm" title="${res.Login}" t:zone="^"> <table align="center"> <tr> <td colspan="2"><t:errors /></td> </tr> .... some other form elements ..... </table> </form> </t:zone> </t:Dialog> Hope this helps. Cheers, Dragan Sahpaski On Mon, Dec 12, 2011 at 7:53 AM, Andreas Bohnert <a...@weberhofer.at> wrote: > Hi, > > the id of a form element changes after the Zone which contains the form is > updated. (id before: loginForm, id after loginForm_13871283787...) > I know, this is done by tapestry to prevent unwanted id clashes (see: > What's that weird number in the middle of the client ids after a Zone is > updated? > http://tapestry.apache.org/**ajax-components-faq.html<http://tapestry.apache.org/ajax-components-faq.html> > ) > > But there is no solution given in how to deal with this random ids if your > javascript code depends on the id. Some people have suggested to provide > both id and t:id by yourself to prevent tapestry from changing the ids but > for me it does not work. > > here is my code: > > <t:Dialog t:clientId="loginDialog" t:title="${shortTitle}" > > <t:zone t:id="loginZone" id="loginZone"> > <form t:type="Form" t:id="loginForm" id="loginForm" class="loginForm" > title="${res.Login}" t:zone="loginZone"> > <table align="center"> > <tr> > <td colspan="2"><t:errors /></td> > </tr> > .... some other form elements ..... > </table> > </form> > </t:zone> > </t:Dialog> > > $('#oginForm').submit(); // this does not work anymore if the zone has got > updated > > There is another suggestion to use setSubmittingElement before submit the > form, but I haven't find a jquery method to do this (and I don't really > understand why I have to do this) > > I'm using tapestry 5.3 and tapestry5-jquery-3.0.0-**20111122.140306-63. > > Thanks for your help!! > Andreas > > > > > ------------------------------**------------------------------**--------- > To unsubscribe, e-mail: > users-unsubscribe@tapestry.**apache.org<users-unsubscr...@tapestry.apache.org> > For additional commands, e-mail: users-h...@tapestry.apache.org > >