>> 
>> Often what happens is that some invaild JS on the client causes an
>> exception, and (for whatever reason) that results in the original
>> event continuing as a full-page (non-Ajax) request.  This is where
>> FireBug is your friend. I know it should just work ... what's your
>> browser?
> 
> Safari. Hmmm... It's strange that there could be an exception. In researching 
> this issue it seems like other people have run into it when nesting, 
> something about the id's changing. I don't think the maven quickstart 
> Layout.tml includes any javascript, so it must be something about nesting an 
> ajax action so deep messes with something. 
> 
> But I guess I'll look in the log and see if there's an exception. 

Ok. 

So this was a combination of things:

   Noob mistake: 

   Somehow, I had gotten the idea that when making re-usable components, I 
could put <html><body> tags inside the .tml for the component, and that 
Tapestry threw those away, and just rendered the stuff between the body. So 
that meant I was adding extra <body> tags everywhere, which the browser was 
ignoring, but caused some weird side effects. When I replaced the HTML/BODY 
tags with <t:container> tags, those went away. Of course, now my .tml files are 
no longer legal HTML files. 

   So speaking of which, how do you make a previewable component?

   Search form weirdness:

    So I had a search form in the page, and the Layout.tml sample file has an 
<li> tag with id="search". So the javascript that Tapestry emits (   
$('search').activate() ) had a name collision with the LI tag, and so the 
javascript code threw an error when activating the search field, which broke 
the ajax. 

 Pierce

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to