I just looked at the first sentence I wrote - sorry for that :-(. It was supposed to say:

"I think you are :-). If your server-side handler is returning:"

Chris Lewis wrote:
I think you are :-). If you're server-side handler is retu

response.put("testID", "<t:actionlink t:id=\"showResults\" context=\""+execution.getId()+"\">Show Results</t:actionlink>");

You are returning "<t:actionlink ...>" markup in your JSON response, which Tapestry doesn't process (it just sends text and you provide it). Therefore if you look at the source of you rendered page you'll see that what is returned is a raw Tapestry-like tag, instead of a properly rendered link tag. Since you're returning this from an AJAX request you may have to use an alert() box to verify it, or perhaps you can use Firefox/Firebug. At any rate what you have to do is have T5 generate your link for you. Take a look at the source for the Autocomplete mixin to see how this is done.

chris

Mahen Perera wrote:
Thanks Howard for the reply. But the issue is, the mark up that i am
returning is not properly rendered..
i.e when i am returning a mark up such as , <t:actionlink
t:id="showResults" context="1">Show Results</t:actionlink> what is
getting rendered is just the Text "Show Results" , and the hyperlink is
not rendered,, which should be there for a actionlink component. i think
i am missing something obvious..

-----Original Message-----
From: Howard Lewis Ship [mailto:[EMAIL PROTECTED] Sent: 01 February 2008 15:01
To: Tapestry users
Subject: Re: Getting the result of a component event handler method.

On an Ajax request, if you return a component or block from an event
handler method, Tapestry will render the result as a JSON reply, putting
the markup inside a "content" key.  I'm still working on handling errors
nicely, and handling the case where additional JavaScript is generated
as part of the render. All of this is fundamental to the Zone component
support.

Don't forget that you can check Request.isXHR() to see if the request is
Ajax or traditional.

On Feb 1, 2008 6:27 AM, Mahen Perera <[EMAIL PROTECTED]> wrote:
Hi all,

I have written a component where it has an associated component event handler method. This event handler method is getting called thru a Ajax request when the user performs some action in the browser. I need this event handler method to return a mark up such as following; <t:actionlink t:id="showResults" context="1">Show Results</t:actionlink>

I will be then using this markup to do something like

document.getElementByID.innerHTML = markup ;

in the onComplete of the Ajax request.



Currently i am returning a JSON object from the component event handler method.. where this JSON object is populated as following:

JSONObject response = new JSONObject();

response.put("testID", "<t:actionlink t:id=\"showResults\"
context=\""+execution.getId()+"\">Show Results</t:actionlink>");

However, when the page is updated, i dont see the link of this markup... i mean i see only the text "Show Results" .. and not a link for it.. which i am trying to have..

I know that i can return either a StreamResponse or a Block Component in the event handler method.. but i am not sure how to do it.. i mean to do in such a way so that the link of the "actionLink" is properly displayed.

Thanks in advance for any help..

Hope my question is clear..




The information contained in this email is strictly confidential and
for the use of the addressee only, unless otherwise indicated. If you
are not the intended recipient, please do not read, copy, use or
disclose to others this message or any attachment. Please also notify
the sender by replying to this email or by telephone (+44 (0)20 7896
0011) and then delete the email and any copies of it. Opinions,
conclusions (etc.) that do not relate to the official business of this
company shall be understood as neither given nor endorsed by it. IG
Index plc is a company registered in England and Wales under number
01190902. VAT registration number 761 2978 07. Registered Office: Friars
House, 157-168 Blackfriars Road, London SE1 8EZ. Authorised and
regulated by the Financial Services Authority. FSA Register number
114059.

--
Howard M. Lewis Ship

Creator Apache Tapestry and Apache HiveMind

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

The information contained in this email is strictly confidential and for the use of the addressee only, unless otherwise indicated. If you are not the intended recipient, please do not read, copy, use or disclose to others this message or any attachment. Please also notify the sender by replying to this email or by telephone (+44 (0)20 7896 0011) and then delete the email and any copies of it. Opinions, conclusions (etc.) that do not relate to the official business of this company shall be understood as neither given nor endorsed by it. IG Index plc is a company registered in England and Wales under number 01190902. VAT registration number 761 2978 07. Registered Office: Friars House, 157-168 Blackfriars Road, London SE1 8EZ. Authorised and regulated by the Financial Services Authority. FSA Register number 114059.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]






---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to