Ok, I fixed the ID issue... But... it don't work. What don't Work? more than one DOM referencing one instance of a tapestry component/widget... namely a PropertySelect. Here is the proof. I did view-source fro the browser to look at the markup. markup... <select name="tableSizeSelect" id="tableSizeSelect"> ... <select name="tableSizeSelect_0" id="tableSizeSelect_0"> Now will HTML crap out if there exist multiple nodes of same ID. My problem is right above. Each select has been modeled with @Block here is it.. the declaration <span jwcid="[EMAIL PROTECTED]"> <table width="100%" border=1> <tr> <td width="25%" align="left" NOWRAP> <span jwcid="@Insert" value="Table Size"/> <select jwcid="[EMAIL PROTECTED]" model="ognl:tableSizeModel" value="ognl:tableSize" /> <span jwcid="@Insert" value="Paging Span"/> <select jwcid="[EMAIL PROTECTED]" model="ognl:pagingSpanModel" value="ognl:pagingSpan" /> </td> ...more cut out omitted code </span> -------- here is it.. the definition... <div jwcid="[EMAIL PROTECTED]"> <div jwcid="@RenderBlock" block="ognl:components.autoPagingContent" /> </div> <div jwcid="[EMAIL PROTECTED]"> <div jwcid="@RenderBlock" block="ognl:components.collectionContent" /> </div> <div jwcid="[EMAIL PROTECTED]"> <div jwcid="@RenderBlock" block="ognl:components.autoPagingContent" /> </div> ----- Now referring back to top... the ID was taken on the first instance but animated by tapestry on the second instance. markup... <select name="tableSizeSelect" id="tableSizeSelect"> ... <select name="tableSizeSelect_0" id="tableSizeSelect_0"> ? So now I guess EVERYTHING on the second definition ([EMAIL PROTECTED]) will get all of it's ID's appended with an autoincrement. ? Here is the million dollar question... Given the following block of code... <div jwcid="[EMAIL PROTECTED]"> <div jwcid="@RenderBlock" block="ognl:components.autoPagingContent" /> </div> <div jwcid="[EMAIL PROTECTED]"> <div jwcid="@RenderBlock" block="ognl:components.collectionContent" /> </div> <div jwcid="[EMAIL PROTECTED]"> <div jwcid="@RenderBlock" block="ognl:components.autoPagingContent" /> </div> How do I get headerSelect and footerSelect be updated against the same widget instance (which happens to be the ognl:components.autoPagingContent) ? I thought the above snippet was sufficient. It is obviously an ID issue. Clarification appreciated. Thanks in advance. Best regards Ken in nashua
From: [EMAIL PROTECTED]: [EMAIL PROTECTED]: RE: bidirectional dom interfaceDate: Wed, 16 Jan 2008 14:49:17 -0500 Well it's probably because the ID has changed now to id="[EMAIL PROTECTED]" OK, so I should use jwcid.Best regards Ken in nashua From: [EMAIL PROTECTED]: [EMAIL PROTECTED]: RE: bidirectional dom interfaceDate: Wed, 16 Jan 2008 10:44:32 -0500 Well I tried this in the page that contains the component... public void refresh() { getResponseBuilder().updateComponent("headerSelect"); getResponseBuilder().updateComponent("footerSelect"); } Since these are my dom references... <div id="headerSelect"> <div jwcid="@RenderBlock" block="ognl:components.autoPagingContent" /> </div> <div id="galleryContent"> <div jwcid="@RenderBlock" block="ognl:components.collectionContent" /> </div> <div id="footerSelect"> <div jwcid="@RenderBlock" block="ognl:components.autoPagingContent" /></div> and this does not cut it. I am looking at cometd sample in tacos and it looks like I need to establish a scripting interface? Can anyone confirm? Is there an easier quicker way to update a dom referring to a widget from the server side?Thanks in advance...Best regards Ken in nashua From: [EMAIL PROTECTED]: [EMAIL PROTECTED]: bidirectional dom interfaceDate: Wed, 16 Jan 2008 08:15:02 -0500 Hi Folks, I am impressed with this interface. @EventListener(events = { "onchange" }, targets = { "pagingSpanSelect" }, submitForm = "myForm", async = true) public void pagingSpanListener(IRequestCycle cycle) {} It provides a nice interface from DOM into server side. But How do I talk to my dom javascript node from here? Is there a way to reference the form and set a value of a dom node that models a tapestry widget ? Why do I need this? Well My tapestry widget is modeled to a dom node A. But I actually used the @Block declaration to model another dom B node to the same widget... When I change A, B stays the same. I need to update the other dom node when one changes. Thanks for any tips.Best regards Ken in nashua Get the power of Windows + Web with the new Windows Live. Get it now! Make distant family not so distant with Windows Vista® + Windows Live™. Start now! Get the power of Windows + Web with the new Windows Live. Get it now! _________________________________________________________________ Share life as it happens with the new Windows Live. http://www.windowslive.com/share.html?ocid=TXT_TAGHM_Wave2_sharelife_012008