Ok, I understand that. Thanks for the explanation. So it almost sounds
like I need to either have the events external to the tags or else I
need some code to evaluate the javascript in the tags (I found a pure
javascript example).  But where would I put that code?  In my main
page or inside the Ajax rendered view?  Hmmm... maybe it doesn't
matter.

I think from my experiments I determined that code inside the <script>
tags was getting evaluated.  But why isn't the $javascript->link
('filename') tag getting loaded I wonder?

On Jun 10, 6:27 pm, brian <bally.z...@gmail.com> wrote:
> On Wed, Jun 10, 2009 at 4:02 PM, Nancy<nancy.milli...@gmail.com> wrote:
>
> > Something seems to happen when you have javascript embedded in an ajax
> > rendered view and it is getting me confused!
>
> > I have this line at the top, it works when I call the view directly,
> > but doesn't seem to do anything when ajax renders the view:
>
> > <?= $javascript->link('clearSelect'); ?>
>
> > I see the alerts when the page is loaded directly but not through
> > ajax.   The function works ok when loaded directly but not through
> > ajax.  I'm using Protype and Ajax.
>
> > ====== clearSelect.js ==============
> > alert("hello!");
> > function unselectAll(ele)
> > {
> >    alert(ele);
> >    var obj=$(ele);
> >    for (var i=0; i < obj.options.length; i++)
> >    {
> >        obj.options[i].selected = null;
> >    }
> > }
> > =============================
>
> > I've also run into this issue when I have buttons and things on my
> > form I try to put some Javascript on, and they just don't work.  I've
> > googled for an answer and realize that perhaps events aren't getting
> > hooked up but I'm not knowledgeable enough to figure out on my own how
> > to address that.  So any specifics would be hugely appreciated!  And
> > it looks like my javascript source file isn't being included at all.
>
> No, it is not. You have to understand what an AJAX request is, and
> what your javascript function is doing with the result. In your case,
> the view is being rendered by Cake into an HTML block which, when sent
> back to the client, is inserted into the DOM. A javascript include is
> not going to work because the tag will not be evaluated.
>
> It's a similar situation for event handlers. When the HTML chunk is
> inserted int the DOM, if there's no instruction to evaluate the page
> again in order to register event handlers you're not going to get the
> expected results. I use jQuery, not Prototype, so I can't give you any
> specifics to deal with that.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"CakePHP" group.
To post to this group, send email to cake-php@googlegroups.com
To unsubscribe from this group, send email to 
cake-php+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/cake-php?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to