I did run dojo in DEBUG and viewed the following after clicking the link "[Edit:]" this appears to confirm that the right html is getting returned. Its just not getting refreshed on the screen. Just to give more detail into the page design these html elements to reside in a dojo ContentPane if that affects behavior:
 
Dojo Debug: This was the result of pushing the "[Edit:]" link once, not sure why there were 3 responses.
 

INFO:Response:<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" [ <!ENTITY nbsp '&#160;'>]><ajax-response><response type="element" id="scriptblock"><script>//<![CDATA[ dojo.require("dojo.io");dojo.require("dojo.fx.html");dojo.require("dojo.dom"); Tapestry.default_invalid_field_handler = function(event, field, message) { if (!event.abort && !field.disabled) { Tapestry.set_focus(field); if ($(field.id + '-error')) Element.remove(field.id + '-error'); new Insertion.Before(field.id, '<span id="' + field.id + '-error" style="font-style:italic;color:red;">' + message + '</span>'); new Effect.Highlight(field.id + '-error', {endcolor: "#eeeee0"} ); new Form.Element.Observer(field.id, 2,(function() { if ($(field.id + '-error')) { Effect.Fade(field.id + '-error'); clearInterval(this.intervalVar ); } }).bind(this)); event.abort = true; event.cancel_handlers = true; }}Tapestry.set_focus = function(field) { if(typeof field == "string") { field = dojo.byId(field); if(field) { if (!field.disabled && field.clientWidth > 0) { if (field.focus) { field.focus(); } if (field.isContentEditable || field.isContentEditable == null) { if (field.select) { field.select(); } } } } } }document.postpersonFormForm = function(event) { dojo.debug("AjaxForm submission using form submit."); tacos.applyFormHandlers("personForm", event); // don't want anyone else getting this dojo.event.browser.stopEvent(event); if (event.abort || event.cancel_handlers ) return; // cleanup, memory leaks are bad dojo.event.disconnect(dojo.byId("personForm"), "onsubmit", document, "postpersonFormForm"); var args = {url: " http://localhost:8080/person/app?component=personForm&page=DetailsPerson&rand=-101823471&service=ajaxdirect&session=T&updatedirect=false", processScripts: "true", effects: {}, updateObject: null, content: { dojoRequest: "true", processScripts: "true" }, formId: "personForm", backLink: "", forwardLink: "", statusElement: ""}; // actually submit tacos.formSubmit(args); dojo.debug("Form submission complete.");}//]]></script> <script>//<![CDATA[Tapestry.register_form('personForm'); Tapestry.set_focus('firstname');dojo.event.connect(dojo.byId ("personForm"), "onsubmit", document, "postpersonFormForm"); Tapestry.register_form('contactInfoForm');Tapestry.register_form('eventForm'); Tapestry.register_form('relationshipForm');//]]></script> </response> <response type="element" id="personDetailsROToggle"><div id="personDetailsROToggle"> </div></response><response type="element" id="personDetailsEditToggle"><div id="personDetailsEditToggle"> IsEditable_Edit:true <form method="post" action="" name="personForm" id="personForm"><div style="display:none;" id="personFormhidden"><input type="hidden" name="formids" value="firstname,middlename,lastname"/><input type="hidden" name="component" value="personForm"/><input type="hidden" name="page" value="DetailsPerson"/><input type="hidden" name="service" value="direct"/><input type="hidden" name="session" value="T"/> <input type="hidden" name="submitmode" value=""/><input type="hidden" name="submitname" value=""/></div> <div> <div> First Name<span><input type="text" name="firstname" value="Foo" id="firstname"/></span> </div> <div> Middle Name<span><input type="text" name="middlename" value="A" id="middlename"/></span> </div> <div> Last Name<span><input type="text" name="lastname" value="Bar" id="lastname"/></span> </div> </div> <br> <input type="submit"/> </form> </div></response> <response type="element" id="jsincludes"> <script>//<![CDATA[ tacos.loadScriptFromUrl("/person/app?digest=694a9379eac4385da17b90d575b7a1da&path=%2Fnet%2Fsf%2Ftacos%2Fajax%2Fcomponents%2FForm.js&service=asset"); //]]></script><script>//<![CDATA[ tacos.loadScriptFromUrl("/person/app?digest=b9d072fd0f6e8569901c301e0099e11e&path=%2Fnet%2Fsf%2Ftacos%2Fajax%2Fcomponents%2Ftacos.js&service=asset"); //]]></script><script>//<![CDATA[ tacos.loadScriptFromUrl ("/person/app?digest=ec266084ece29ede795db38c9c8cbf3d&path=%2Fnet%2Fsf%2Ftacos%2Fajax%2Fcomponents%2Fprototype.js&service=asset"); //]]></script><script>//<![CDATA[ tacos.loadScriptFromUrl ("/person/app?digest=d63e7f26dc85288745b585a8a8126108&path=%2Fnet%2Fsf%2Ftacos%2Fajax%2Fcomponents%2Feffects.js&service=asset"); //]]></script><script>//<![CDATA[ tacos.loadScriptFromUrl ("/person/app?digest=1c2cda41010a5c0a96485ac13a16355c&path=%2Fnet%2Fsf%2Ftacos%2Fajax%2Fcomponents%2Fcontrols.js&service=asset"); //]]></script><script>//<![CDATA[ tacos.loadScriptFromUrl ("/person/app?digest=557f2081d45a7528f898e7e384717596&path=%2Forg%2Fapache%2Ftapestry%2Fform%2FForm.js&service=asset"); //]]></script></response></ajax-response>

DEBUG: Received response, but had no elements of type ajax-response or the xml returned is not well-formed

DEBUG: Response: <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" [<!ENTITY nbsp '&#160;'>]><ajax-response><response type="element" id="scriptblock"><script>//<![CDATA[ dojo.require("dojo.io"); dojo.require("dojo.fx.html");dojo.require("dojo.dom"); Tapestry.default_invalid_field_handler = function(event, field, message) { if (!event.abort && !field.disabled) { Tapestry.set_focus(field); if ($(field.id + '-error')) Element.remove(field.id + '-error'); new Insertion.Before(field.id, '<span id="' + field.id + '-error" style="font-style:italic;color:red;">' + message + '</span>'); new Effect.Highlight(field.id + '-error', {endcolor: "#eeeee0"} ); new Form.Element.Observer(field.id, 2,(function() { if ($(field.id + '-error')) { Effect.Fade(field.id + '-error'); clearInterval(this.intervalVar ); } }).bind(this)); event.abort = true; event.cancel_handlers = true; }}Tapestry.set_focus = function(field) { if(typeof field == "string") { field = dojo.byId(field); if(field) { if (!field.disabled && field.clientWidth > 0) { if (field.focus) { field.focus(); } if (field.isContentEditable || field.isContentEditable == null) { if (field.select) { field.select(); } } } } } }document.postpersonFormForm = function(event) { dojo.debug("AjaxForm submission using form submit."); tacos.applyFormHandlers("personForm", event); // don't want anyone else getting this dojo.event.browser.stopEvent(event); if (event.abort || event.cancel_handlers ) return; // cleanup, memory leaks are bad dojo.event.disconnect(dojo.byId("personForm"), "onsubmit", document, "postpersonFormForm"); var args = {url: " http://localhost:8080/person/app?component=personForm&page=DetailsPerson&rand=-101823471&service=ajaxdirect&session=T&updatedirect=false", processScripts: "true", effects: {}, updateObject: null, content: { dojoRequest: "true", processScripts: "true" }, formId: "personForm", backLink: "", forwardLink: "", statusElement: ""}; // actually submit tacos.formSubmit(args); dojo.debug("Form submission complete.");}//]]></script> <script>//<![CDATA[Tapestry.register_form('personForm'); Tapestry.set_focus('firstname');dojo.event.connect(dojo.byId ("personForm"), "onsubmit", document, "postpersonFormForm"); Tapestry.register_form('contactInfoForm');Tapestry.register_form('eventForm'); Tapestry.register_form('relationshipForm');//]]></script> </response> <response type="element" id="personDetailsROToggle"><div id="personDetailsROToggle"> </div></response><response type="element" id="personDetailsEditToggle"><div id="personDetailsEditToggle"> IsEditable_Edit:true <form method="post" action="" name="personForm" id="personForm"><div style="display:none;" id="personFormhidden"><input type="hidden" name="formids" value="firstname,middlename,lastname"/><input type="hidden" name="component" value="personForm"/><input type="hidden" name="page" value="DetailsPerson"/><input type="hidden" name="service" value="direct"/><input type="hidden" name="session" value="T"/> <input type="hidden" name="submitmode" value=""/><input type="hidden" name="submitname" value=""/></div> <div> <div> First Name<span><input type="text" name="firstname" value="Foo" id="firstname"/></span> </div> <div> Middle Name<span><input type="text" name="middlename" value="A" id="middlename"/></span> </div> <div> Last Name<span><input type="text" name="lastname" value="Bar" id="lastname"/></span> </div> </div> <br> <input type="submit"/> </form> </div></response> <response type="element" id="jsincludes"> <script>//<![CDATA[ tacos.loadScriptFromUrl("/person/app?digest=694a9379eac4385da17b90d575b7a1da&path=%2Fnet%2Fsf%2Ftacos%2Fajax%2Fcomponents%2FForm.js&service=asset"); //]]></script><script>//<![CDATA[ tacos.loadScriptFromUrl("/person/app?digest=b9d072fd0f6e8569901c301e0099e11e&path=%2Fnet%2Fsf%2Ftacos%2Fajax%2Fcomponents%2Ftacos.js&service=asset"); //]]></script><script>//<![CDATA[ tacos.loadScriptFromUrl ("/person/app?digest=ec266084ece29ede795db38c9c8cbf3d&path=%2Fnet%2Fsf%2Ftacos%2Fajax%2Fcomponents%2Fprototype.js&service=asset"); //]]></script><script>//<![CDATA[ tacos.loadScriptFromUrl ("/person/app?digest=d63e7f26dc85288745b585a8a8126108&path=%2Fnet%2Fsf%2Ftacos%2Fajax%2Fcomponents%2Feffects.js&service=asset"); //]]></script><script>//<![CDATA[ tacos.loadScriptFromUrl ("/person/app?digest=1c2cda41010a5c0a96485ac13a16355c&path=%2Fnet%2Fsf%2Ftacos%2Fajax%2Fcomponents%2Fcontrols.js&service=asset"); //]]></script><script>//<![CDATA[ tacos.loadScriptFromUrl ("/person/app?digest=557f2081d45a7528f898e7e384717596&path=%2Forg%2Fapache%2Ftapestry%2Fform%2FForm.js&service=asset"); //]]></script></response></ajax-response>



 
On 8/14/06, Kevin Fightmaster <[EMAIL PROTECTED]> wrote:
I've made both changes and neither seem to work. "tacos:Id" fails as a component. and [EMAIL PROTECTED] doesnt update after request.
Some unique behavior that appear is if i just click on the link "[Edit:]" I can see calls to the java page but the screen doesnt refresh. If i write mouse click on the link and select Open the page refreshes and the correct screen content appears. If i right mouse click on the link and select "Open in new Window" i get a new window with the correct content. Maybe I'm missing a required resource or _javascript_ that allows the page portions to be replaced on response. Any thoughts?
 
Kevin
 
On 8/11/06, [EMAIL PROTECTED] < [EMAIL PROTECTED]> wrote:
I've done this a lot of times - just like you describe...
First, try
<div jwcid="[EMAIL PROTECTED] " id="personDetailsEditToggle">
or
<div jwcid="[EMAIL PROTECTED]:Id">
instead of
<span jwcid="@Any" id="personDetailsEditToggle">

Also, try to use a tool (FireBug) to capture the Ajax response
and see what gets included there...

>From Kevin Fightmaster < [EMAIL PROTECTED]>:

> I wanted to know if the following is possible:
>
> Have an AjaxDirectLink call a listener which sets a boolean attribute.
>     Then the binding "updateComponents" for the AjaxDirectLink identifies
> two 'If' components.
>         Each of the 'If' components has their condition set to check the
> boolean attribute.
>             Finally the 'If' statement that matches the condition renders
> itself.
>
>
> In my code, I can verify that the listener method for the AjaxDirectLink is
> called. I've verified that the boolean attribute is modified correctly.
> However I can't seem to get the 'If' components to update themselves.
>
> ------------------------
> PAGE
> ------------------------
>
> <component id="toggleEdit" type="tacos:AjaxDirectLink">
>   <binding name="listener" value="listener:toggleEdit"/>
>   <binding name="updateComponents" value="ognl:{'personDetailsROToggle',
> 'personDetailsEditToggle'}" />
> </component>
>
> <component id="personDetailsEdit" type="If" >
>   <binding name="condition" value="ognl:isEditable"/>
> </component>
>
> <component id="personDetailsRO" type="Else" />
>
> </component>
>
> ------------------------
> HTML
> ------------------------
>
> <span jwcid="@Any" id="personDetailsEditToggle">
>   <div jwcid="personDetailsEdit">
>     <form jwcid="personForm">
>         <div>
>           <span key="firstname">First Name</span>
>           <span><input jwcid="firstname"/></span>
>         </div>
>         {.... more of the same}
>     <br>
>     <input type="submit"/>
>     </form>
>   </div>
> </span>
>
> <span jwcid="@Any" id="personDetailsROToggle">
>   <div jwcid="personDetailsRO">
>     <div>
>       <span key="firstname">First Name:</span>
>       <span><span jwcid="firstnameRO">Foo</span></span>
>     </div>
>      {... more of the same}
>   </div>
>   <div jwcid="toggleEdit"><span key="edit">[Edit]</span></div>
> </span>
>
> ------------------------
> JAVA
> ------------------------
> *
>
> public* *boolean* isEditable = *false*;
> **
>
> *public void** toggleEdit() {
>     isEditable = !isEditable**;
> }*
>
> **
>
> ------------------------
> ENVIRONMENT
> ------------------------*
> *Tapestry - 4.0.2
> Tacos - 4-beta-2
> Dojo - 3+
>
>
>
> Thanks for any help,
>
> Kevin
>


--



-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Tacos-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tacos-devel


-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Tacos-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tacos-devel

Reply via email to