> Also if I remember correctly doesnt Tapestry always create unique ids for > elements by adding $number to the components name? Whilst it's true that most tapestry components will avoid an id conflict when rendering, in this case it's not tapestry rendering the second instance. A javascript is using the innerHTML() of one element to create another with exactly the same id.
On 21 September 2013 20:50, Martin Kersten <martin.kersten...@gmail.com>wrote: > If you can prevent Tapestry from removing your comments, you can just use > comments to transfer your data. Walking the dom isnt that costly in java > script and if you have a certain div (like the content div etc) you can use > it as a starting point. Inside the comment you can write any payload you > want. We used it in GWT heavily putting json strings inside the comment and > added a label on top to find the right comment to look at. Sadly tapestry > currently removes all comments. > > So another idea is using javascript and create a certain object that puts > the string you want to transfer into it. It is quite easy and you can find > the object from anywhere of your page by just looking for it. The question > is how to make it unique and yes you can use UUID or some other mechanism. > > Also if I remember correctly doesnt Tapestry always create unique ids for > elements by adding $number to the components name? > > > Cheers, > > Martin (Kersten) > > > 2013/9/20 Thiago H de Paula Figueiredo <thiag...@gmail.com> > > > On Fri, 20 Sep 2013 18:48:57 -0300, Dmitry Gusev <dmitry.gu...@gmail.com > > > > wrote: > > > > And yes, strictly speaking, this will make the document invalid, because > >> it violates specification. > >> But in practice things won't stop working if you put multiple elements > >> with the same ID on a page. You won't see any errors, etc. > >> > > > > It's illegal (you said it was legal) and not recommended but it ends up > > working because browsers are lenient, maybe too lenient. ;) > > > > > > The only side-effect will happen is that you won't be able to get > second, > >> third, etc. elements by using ID selectors in JS. > >> But CSS styling rules will still work. In the example below you will see > >> content of both divs in UPPERCASE, but jQuery('#id1').length will yield > 1 > >> (this will be the first element in the order of appearance in dom), also > >> document.getElementById("id1") will return first element: > >> > > > > More reasons to avoid duplicate ids: things stop working the way you > > expect. :) > > > > > > -- > > 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 > > > > >