You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Josh Long <st...@gmail.com> on 2006/08/14 10:41:15 UTC

No node found issue with directlink and updateComponents where theres a form submit

Im having an issue with the folloowing template:

<div jwcid="@Border">

<a href= "#" jwcid="@DirectLink" async  = "ognl:true" listener  =
"listener:changePage" parameters = "ognl:0" updateComponents = "ognl: {'res'
}">0</a>      |
<a href= "#" jwcid="@DirectLink" async  = "ognl:true"     listener  =
"listener:changePage"  parameters = "ognl:4" updateComponents = "ognl:
{'res' }" >4</a>


<div jwcid="res@Any">
${new java.util.Date()}<br/>${search.pageNumber}<br/>${bookmarkablePage}
<br/>
<div jwcid="@For" value ="ognl:result" source = "ognl: results">
    <form jwcid="xform@Form">
      <input type="submit" jwcid="xf@Submit"/>
    </form>
    <br/>
</div>
</div></div>


the idea is that (at least in this simple test) the directlink updates the
page number and reruns the search, forcing an update of the div jwcid="
res@Any" in order to get the results rerendered.

I get a response when i click from one number to the other (FireBugs hows
the fully formed html response (which looks good) and the console logs
indicate db activity)... the response is..


<?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 id="xform_1hidden" type="element"><div
style="display:none;" id="xform_1hidden"><input type="hidden" name="formids"
value="xf"/>

<input type="hidden" name="submitmode" value=""/>

<input type="hidden" name="submitname" value=""/>

</div></response><response id="xformhidden" type="element"><div
style="display:none;" id="xformhidden"><input type="hidden" name="formids"
value="xf"/>

<input type="hidden" name="submitmode" value=""/>

<input type="hidden" name="submitname" value=""/>

</div></response><response id="initializationscript" type="script"><script>
//<![CDATA[
dojo.require("tapestry.form");tapestry.form.registerForm("xform");
dojo.require("tapestry.form");tapestry.form.registerForm("xform_0");
dojo.require("tapestry.form");tapestry.form.registerForm("xform_1");
dojo.require("tapestry.form");tapestry.form.registerForm("xform_2");
dojo.require("tapestry.form");tapestry.form.registerForm("xform_3");

//]]>
</script></response><response id="xform_2hidden" type="element"><div
style="display:none;" id="xform_2hidden"><input type="hidden" name="formids"
value="xf"/>

<input type="hidden" name="submitmode" value=""/>

<input type="hidden" name="submitname" value=""/>

</div></response><response id="xform_0hidden" type="element"><div
style="display:none;" id="xform_0hidden"><input type="hidden" name="formids"
value="xf"/>

<input type="hidden" name="submitmode" value=""/>

<input type="hidden" name="submitname" value=""/>

</div></response><response id="xform_3hidden" type="element"><div
style="display:none;" id="xform_3hidden"><input type="hidden" name="formids"
value="xf"/>

<input type="hidden" name="submitmode" value=""/>

<input type="hidden" name="submitname" value=""/>

</div></response><response id="res" type="element"><div id="res">



Mon Aug 14 01:25:30 PDT 2006



<br/>

0

<br/>



http://localhost:8080/view/restaurants/ca_losangelescounty_losangeles/range/0_5/







<br/>











    Briazz



    3239540877



    <form method="post" action="/view/search/ASearch,xform.sdirect"
id="xform">



  <input type="submit" name="xf" id="xf"/>

    </form>

    <br/>







    Yuca's



    3236621214



    <form method="post" action="/view/search/ASearch,xform.sdirect"
id="xform_0">



  <input type="submit" name="xf" id="xf_0"/>

    </form>

    <br/>







    Cold Stone Creamery



    3103606241



    <form method="post" action="/view/search/ASearch,xform.sdirect"
id="xform_1">



  <input type="submit" name="xf" id="xf_1"/>

    </form>

    <br/>







    Haagen-dazs



    4158961550



    <form method="post" action="/view/search/ASearch,xform.sdirect"
id="xform_2">



  <input type="submit" name="xf" id="xf_2"/>

    </form>

    <br/>







    Daddy Dave's With Big Mama's



    3232943019



    <form method="post" action="/view/search/ASearch,xform.sdirect"
id="xform_3">



  <input type="submit" name="xf" id="xf_3"/>

    </form>

    <br/>







</div></response></ajax-response>



ANYWAY!! umm.. it doesnt actually render, i get an error of :

DEBUG: 1:25:30 AM: Response recieved.
ERROR: 1:25:30 AM: No node could be found to update content in with id
xform_1hidden

This error swiftly disappears if i change the template so that      <input
type="submit" jwcid="xf@Submit"/> doesnt have a jwcid= .. attribute. ie,
<input type = "submit" />.

I thought initially that the use of a custom component was the issue.. I
removed it. Ive also tried rendering te <form jwcid="@Form"> ..</form>
outside the loop all together (which is the ideal situation).. no go. I also
tried enabling tapestry caching (as its off for the moment as im developing)
in all of the above situations, again, no go.

Anyway, any help would be appreciated.



Thanks again,
Josh

Re: No node found issue with directlink and updateComponents where theres a form submit

Posted by Josh Long <st...@gmail.com>.
Alrighty,

The bug is TAPESTRY-1063. Any helps greatly appreciated as I have to
be able to come up with something pretty quick....

Thanks,
Josh

On 8/14/06, Jesse Kuhnert <jk...@gmail.com> wrote:
> Oops.. Can you file a bug report for this? The single update block for
> hidden form input fields should only happen when updating individual items
> contained in a form, but not when the whole form itself needs to be
> rendered.
>
> On 8/14/06, Josh Long <st...@gmail.com> wrote:
> >
> > Im having an issue with the folloowing template:
> >
> > <div jwcid="@Border">
> >
> > <a href= "#" jwcid="@DirectLink" async  = "ognl:true" listener  =
> > "listener:changePage" parameters = "ognl:0" updateComponents = "ognl:
> > {'res'
> > }">0</a>      |
> > <a href= "#" jwcid="@DirectLink" async  = "ognl:true"     listener  =
> > "listener:changePage"  parameters = "ognl:4" updateComponents = "ognl:
> > {'res' }" >4</a>
> >
> >
> > <div jwcid="res@Any">
> > ${new java.util.Date()}<br/>${search.pageNumber}<br/>${bookmarkablePage}
> > <br/>
> > <div jwcid="@For" value ="ognl:result" source = "ognl: results">
> >     <form jwcid="xform@Form">
> >       <input type="submit" jwcid="xf@Submit"/>
> >     </form>
> >     <br/>
> > </div>
> > </div></div>
> >
> >
> > the idea is that (at least in this simple test) the directlink updates the
> > page number and reruns the search, forcing an update of the div jwcid="
> > res@Any" in order to get the results rerendered.
> >
> > I get a response when i click from one number to the other (FireBugs hows
> > the fully formed html response (which looks good) and the console logs
> > indicate db activity)... the response is..
> >
> >
> > <?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 id="xform_1hidden" type="element"><div
> > style="display:none;" id="xform_1hidden"><input type="hidden"
> > name="formids"
> > value="xf"/>
> >
> > <input type="hidden" name="submitmode" value=""/>
> >
> > <input type="hidden" name="submitname" value=""/>
> >
> > </div></response><response id="xformhidden" type="element"><div
> > style="display:none;" id="xformhidden"><input type="hidden" name="formids"
> > value="xf"/>
> >
> > <input type="hidden" name="submitmode" value=""/>
> >
> > <input type="hidden" name="submitname" value=""/>
> >
> > </div></response><response id="initializationscript"
> > type="script"><script>
> > //<![CDATA[
> > dojo.require("tapestry.form");tapestry.form.registerForm("xform");
> > dojo.require("tapestry.form");tapestry.form.registerForm("xform_0");
> > dojo.require("tapestry.form");tapestry.form.registerForm("xform_1");
> > dojo.require("tapestry.form");tapestry.form.registerForm("xform_2");
> > dojo.require("tapestry.form");tapestry.form.registerForm("xform_3");
> >
> > //]]>
> > </script></response><response id="xform_2hidden" type="element"><div
> > style="display:none;" id="xform_2hidden"><input type="hidden"
> > name="formids"
> > value="xf"/>
> >
> > <input type="hidden" name="submitmode" value=""/>
> >
> > <input type="hidden" name="submitname" value=""/>
> >
> > </div></response><response id="xform_0hidden" type="element"><div
> > style="display:none;" id="xform_0hidden"><input type="hidden"
> > name="formids"
> > value="xf"/>
> >
> > <input type="hidden" name="submitmode" value=""/>
> >
> > <input type="hidden" name="submitname" value=""/>
> >
> > </div></response><response id="xform_3hidden" type="element"><div
> > style="display:none;" id="xform_3hidden"><input type="hidden"
> > name="formids"
> > value="xf"/>
> >
> > <input type="hidden" name="submitmode" value=""/>
> >
> > <input type="hidden" name="submitname" value=""/>
> >
> > </div></response><response id="res" type="element"><div id="res">
> >
> >
> >
> > Mon Aug 14 01:25:30 PDT 2006
> >
> >
> >
> > <br/>
> >
> > 0
> >
> > <br/>
> >
> >
> >
> >
> > http://localhost:8080/view/restaurants/ca_losangelescounty_losangeles/range/0_5/
> >
> >
> >
> >
> >
> >
> >
> > <br/>
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >     Briazz
> >
> >
> >
> >     3239540877
> >
> >
> >
> >     <form method="post" action="/view/search/ASearch,xform.sdirect"
> > id="xform">
> >
> >
> >
> >   <input type="submit" name="xf" id="xf"/>
> >
> >     </form>
> >
> >     <br/>
> >
> >
> >
> >
> >
> >
> >
> >     Yuca's
> >
> >
> >
> >     3236621214
> >
> >
> >
> >     <form method="post" action="/view/search/ASearch,xform.sdirect"
> > id="xform_0">
> >
> >
> >
> >   <input type="submit" name="xf" id="xf_0"/>
> >
> >     </form>
> >
> >     <br/>
> >
> >
> >
> >
> >
> >
> >
> >     Cold Stone Creamery
> >
> >
> >
> >     3103606241
> >
> >
> >
> >     <form method="post" action="/view/search/ASearch,xform.sdirect"
> > id="xform_1">
> >
> >
> >
> >   <input type="submit" name="xf" id="xf_1"/>
> >
> >     </form>
> >
> >     <br/>
> >
> >
> >
> >
> >
> >
> >
> >     Haagen-dazs
> >
> >
> >
> >     4158961550
> >
> >
> >
> >     <form method="post" action="/view/search/ASearch,xform.sdirect"
> > id="xform_2">
> >
> >
> >
> >   <input type="submit" name="xf" id="xf_2"/>
> >
> >     </form>
> >
> >     <br/>
> >
> >
> >
> >
> >
> >
> >
> >     Daddy Dave's With Big Mama's
> >
> >
> >
> >     3232943019
> >
> >
> >
> >     <form method="post" action="/view/search/ASearch,xform.sdirect"
> > id="xform_3">
> >
> >
> >
> >   <input type="submit" name="xf" id="xf_3"/>
> >
> >     </form>
> >
> >     <br/>
> >
> >
> >
> >
> >
> >
> >
> > </div></response></ajax-response>
> >
> >
> >
> > ANYWAY!! umm.. it doesnt actually render, i get an error of :
> >
> > DEBUG: 1:25:30 AM: Response recieved.
> > ERROR: 1:25:30 AM: No node could be found to update content in with id
> > xform_1hidden
> >
> > This error swiftly disappears if i change the template so that      <input
> > type="submit" jwcid="xf@Submit"/> doesnt have a jwcid= .. attribute. ie,
> > <input type = "submit" />.
> >
> > I thought initially that the use of a custom component was the issue.. I
> > removed it. Ive also tried rendering te <form jwcid="@Form"> ..</form>
> > outside the loop all together (which is the ideal situation).. no go. I
> > also
> > tried enabling tapestry caching (as its off for the moment as im
> > developing)
> > in all of the above situations, again, no go.
> >
> > Anyway, any help would be appreciated.
> >
> >
> >
> > Thanks again,
> > Josh
> >
> >
>
>
> --
> Jesse Kuhnert
> Tapestry/Dojo/(and a dash of TestNG), team member/developer
>
> Open source based consulting work centered around
> dojo/tapestry/tacos/hivemind.
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: No node found issue with directlink and updateComponents where theres a form submit

Posted by Jesse Kuhnert <jk...@gmail.com>.
Oops.. Can you file a bug report for this? The single update block for
hidden form input fields should only happen when updating individual items
contained in a form, but not when the whole form itself needs to be
rendered.

On 8/14/06, Josh Long <st...@gmail.com> wrote:
>
> Im having an issue with the folloowing template:
>
> <div jwcid="@Border">
>
> <a href= "#" jwcid="@DirectLink" async  = "ognl:true" listener  =
> "listener:changePage" parameters = "ognl:0" updateComponents = "ognl:
> {'res'
> }">0</a>      |
> <a href= "#" jwcid="@DirectLink" async  = "ognl:true"     listener  =
> "listener:changePage"  parameters = "ognl:4" updateComponents = "ognl:
> {'res' }" >4</a>
>
>
> <div jwcid="res@Any">
> ${new java.util.Date()}<br/>${search.pageNumber}<br/>${bookmarkablePage}
> <br/>
> <div jwcid="@For" value ="ognl:result" source = "ognl: results">
>     <form jwcid="xform@Form">
>       <input type="submit" jwcid="xf@Submit"/>
>     </form>
>     <br/>
> </div>
> </div></div>
>
>
> the idea is that (at least in this simple test) the directlink updates the
> page number and reruns the search, forcing an update of the div jwcid="
> res@Any" in order to get the results rerendered.
>
> I get a response when i click from one number to the other (FireBugs hows
> the fully formed html response (which looks good) and the console logs
> indicate db activity)... the response is..
>
>
> <?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 id="xform_1hidden" type="element"><div
> style="display:none;" id="xform_1hidden"><input type="hidden"
> name="formids"
> value="xf"/>
>
> <input type="hidden" name="submitmode" value=""/>
>
> <input type="hidden" name="submitname" value=""/>
>
> </div></response><response id="xformhidden" type="element"><div
> style="display:none;" id="xformhidden"><input type="hidden" name="formids"
> value="xf"/>
>
> <input type="hidden" name="submitmode" value=""/>
>
> <input type="hidden" name="submitname" value=""/>
>
> </div></response><response id="initializationscript"
> type="script"><script>
> //<![CDATA[
> dojo.require("tapestry.form");tapestry.form.registerForm("xform");
> dojo.require("tapestry.form");tapestry.form.registerForm("xform_0");
> dojo.require("tapestry.form");tapestry.form.registerForm("xform_1");
> dojo.require("tapestry.form");tapestry.form.registerForm("xform_2");
> dojo.require("tapestry.form");tapestry.form.registerForm("xform_3");
>
> //]]>
> </script></response><response id="xform_2hidden" type="element"><div
> style="display:none;" id="xform_2hidden"><input type="hidden"
> name="formids"
> value="xf"/>
>
> <input type="hidden" name="submitmode" value=""/>
>
> <input type="hidden" name="submitname" value=""/>
>
> </div></response><response id="xform_0hidden" type="element"><div
> style="display:none;" id="xform_0hidden"><input type="hidden"
> name="formids"
> value="xf"/>
>
> <input type="hidden" name="submitmode" value=""/>
>
> <input type="hidden" name="submitname" value=""/>
>
> </div></response><response id="xform_3hidden" type="element"><div
> style="display:none;" id="xform_3hidden"><input type="hidden"
> name="formids"
> value="xf"/>
>
> <input type="hidden" name="submitmode" value=""/>
>
> <input type="hidden" name="submitname" value=""/>
>
> </div></response><response id="res" type="element"><div id="res">
>
>
>
> Mon Aug 14 01:25:30 PDT 2006
>
>
>
> <br/>
>
> 0
>
> <br/>
>
>
>
>
> http://localhost:8080/view/restaurants/ca_losangelescounty_losangeles/range/0_5/
>
>
>
>
>
>
>
> <br/>
>
>
>
>
>
>
>
>
>
>
>
>     Briazz
>
>
>
>     3239540877
>
>
>
>     <form method="post" action="/view/search/ASearch,xform.sdirect"
> id="xform">
>
>
>
>   <input type="submit" name="xf" id="xf"/>
>
>     </form>
>
>     <br/>
>
>
>
>
>
>
>
>     Yuca's
>
>
>
>     3236621214
>
>
>
>     <form method="post" action="/view/search/ASearch,xform.sdirect"
> id="xform_0">
>
>
>
>   <input type="submit" name="xf" id="xf_0"/>
>
>     </form>
>
>     <br/>
>
>
>
>
>
>
>
>     Cold Stone Creamery
>
>
>
>     3103606241
>
>
>
>     <form method="post" action="/view/search/ASearch,xform.sdirect"
> id="xform_1">
>
>
>
>   <input type="submit" name="xf" id="xf_1"/>
>
>     </form>
>
>     <br/>
>
>
>
>
>
>
>
>     Haagen-dazs
>
>
>
>     4158961550
>
>
>
>     <form method="post" action="/view/search/ASearch,xform.sdirect"
> id="xform_2">
>
>
>
>   <input type="submit" name="xf" id="xf_2"/>
>
>     </form>
>
>     <br/>
>
>
>
>
>
>
>
>     Daddy Dave's With Big Mama's
>
>
>
>     3232943019
>
>
>
>     <form method="post" action="/view/search/ASearch,xform.sdirect"
> id="xform_3">
>
>
>
>   <input type="submit" name="xf" id="xf_3"/>
>
>     </form>
>
>     <br/>
>
>
>
>
>
>
>
> </div></response></ajax-response>
>
>
>
> ANYWAY!! umm.. it doesnt actually render, i get an error of :
>
> DEBUG: 1:25:30 AM: Response recieved.
> ERROR: 1:25:30 AM: No node could be found to update content in with id
> xform_1hidden
>
> This error swiftly disappears if i change the template so that      <input
> type="submit" jwcid="xf@Submit"/> doesnt have a jwcid= .. attribute. ie,
> <input type = "submit" />.
>
> I thought initially that the use of a custom component was the issue.. I
> removed it. Ive also tried rendering te <form jwcid="@Form"> ..</form>
> outside the loop all together (which is the ideal situation).. no go. I
> also
> tried enabling tapestry caching (as its off for the moment as im
> developing)
> in all of the above situations, again, no go.
>
> Anyway, any help would be appreciated.
>
>
>
> Thanks again,
> Josh
>
>


-- 
Jesse Kuhnert
Tapestry/Dojo/(and a dash of TestNG), team member/developer

Open source based consulting work centered around
dojo/tapestry/tacos/hivemind.