We dealt with this issue by writing a javascript function to find the
mangled ID,
based on the original ID.  Maybe it'll help. We''l pass the ID of the
containing element,
often a div, to narrow the search.


// Returns the ID of a component with a name beginning with the partialId.
// When Tapestry replaces a block of html in a zone update, it appends a
numeric
// suffix to the original ID which makes it hard to find the component
// when we want to re-attach a javascript handler.
function getRealId(partialId, parentId)
{
    var re = new RegExp(partialId,'g');
    var str;
    $(parentId).childElements().each(function(e) {
        if (e.identify().match(re)) {
            str = e.identify();
            return;
        }
    });
    return str;
}


We'd use it like:

<t:textfield t:id="high0" value="tier0.high" class="txt"
style="width:80px;" onblur="aec(this)"
                onchange="initLow('low1', 'high0');"/>


On Sat, May 12, 2012 at 2:32 PM, Arno Haase <arno.ha...@haase-consulting.com
> wrote:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Thanks for posting this.
>
> I am not sure how it helps though - that piece of code assumes that
> the ID of the form is known while I try to figure out what the id of
> the form is.
>
>
>
> Am 12.05.2012 19:06, schrieb Lenny Primak:
> > Perhaps this will help:
> >
> >
> http://code.google.com/p/flowlogix/source/browse/tapestry-services/src/main/resources/com/flowlogix/web/mixins/DisableAfterSubmit.js
> >
> >  Notice setSubmittingElement() call
> >
> >
> > On May 12, 2012, at 10:45 AM, Arno Haase
> > <arno.ha...@haase-consulting.com> wrote:
> >
> > It does, unfortunately.
> >
> > When the form is initially rendered, Tapestry assigns it the id I
> > assign in the .tml file. On subsequent *AJAX* refreshs, Tapestry
> > appends some number to the initial id.
> >
> > I have
> >
> > <t:zone t:id="zone" id="zone" show="show" update="show"> <t:form
> > t:id="dynamicForm" id="dynamicForm" zone="zone" autofocus="false">
> >
> > ... </t:form> </t:zone>
> >
> > in the .tml file, and a DOM inspection after an AJAX refresh of
> > the zone shows
> >
> > <div id="zone" class="t-zone tapestry-zone"> <form
> > id="dynamicForm_13741814fec" class="t-prevent-submission"
> > method="post" action="/webbib/de/versesearch.dynamicform">
> >
> > ...
> >
> > </form> </div>
> >
> >
> >
> >
> > Am 12.05.2012 17:17, schrieb Thiago H. de Paula Figueiredo:
> >>>> On Sat, 12 May 2012 11:59:42 -0300, Arno Haase
> >>>> <arno.ha...@haase-consulting.com> wrote:
> >>>>
> >>>>> So referencing the form by its ID is out, since the form
> >>>>> is assigned a new and different ID after each AJAX zone
> >>>>> refresh.
> >>>>
> >>>> This won't happen if you give an explicit id (not t:id, id)
> >>>> for the form.
> >>>>
> >>
> >> ---------------------------------------------------------------------
> >>
> >>
> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> >> For additional commands, e-mail: users-h...@tapestry.apache.org
> >>
> >
> > ---------------------------------------------------------------------
> >
> >
> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> > For additional commands, e-mail: users-h...@tapestry.apache.org
> >
> >
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.11 (GNU/Linux)
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
>
> iEYEARECAAYFAk+urNQACgkQbmZsMyUPuXTIpgCgjY/9UjnaDtRj0THpJXfHwphM
> 9RsAniYFQPJOabdyeHGrWd5iXFNrYQ34
> =Ws5J
> -----END PGP SIGNATURE-----
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> For additional commands, e-mail: users-h...@tapestry.apache.org
>
>

Reply via email to