Donny Kurnia schreef:
> Snef wrote:
> > When using $.ajax() i encounter some problems.
> >
> > With the ajax I'm calling a script that will return some html. When
> > echoing the returned data, I can see that everything is returned
> > including the javascript tags.
> >
> > When 'inserting' the returned data into a div on the screen, the
> > javascript seems to be executed but i can't see it in the generated
> > source!
> >
> > I cut it all down to some simple insertion of html into a div like
> > this:
> >
> > $("#freediv").html('<h1 id="test">test</h1><script
> > language="javascript" type="text/javascript">alert("Bla");</
> > script><p>Bla bla</p>');
> >
> > The html is inserted in #freediv but i can't see the script tags
> > (although alert("Bla") did get executed).
>
> What are you use for debugging? In Firebug, inserted javascript tag is
> not appear in the html tab, but it's executed. See the XMLHttpRequest in
> Console tab to verify the returned response is what you intended (html
> and the javascript code)
>
> > The real problem is when i try to use some jQuery in the html:
> >
> > $("#freediv").html('<h1 id="test">test</h1><script
> > language="javascript" type="text/javascript">$("#test").click(function
> > (){ alert("Bla"});</script><p>Bla bla</p>');
> >
> > Isn't this possible at all?
>
> It's possible. Just don't forget to wait the DOM loaded:
>
> $("#freediv").html('<h1 id="test">test</h1>'+
> '<script type="text/javascript>'+
> 'jQuery(function($){'+
> '  $("#test").click(function(){'+
> '   alert("Bla");'+
> '  });'+
> '});'+
> '</script>');
>
> Watch out for parentheses balance. Write it in indented to easily spot
> the missing parentheses. You code above missing  ')' after alert;
>
> > I'm using this to create some 'popup' forms (maybe with SimpleModal)
> > and I want to include some javascript into the response that is
> > specific for that form (like validation and other actions). I know i
> > can use liveQuery or even jQuery's live() but then i need to have all
> > the javascript for every used form already in the main document.
> >
> > I hope you understand my problem ;)
> >
> >
>
> I always use technique like this. My XMLHttpRequest to server will
> return html code and javascript code. It's working well.
>
> --
> Donny Kurnia
> http://hantulab.blogspot.com
> http://www.plurk.com/user/donnykurnia

Donny,

I have correct { } in my code locally ;) was just a typo.

The problem is that when i use ajax I DO see the correct html in the
response (even when outputting it to firebug with console.debug), but
when inserting it with .html(data) (where data is the actual html/
javascript), the javascript tags are gone!

That's why I just tried it with a clean .html(.....) and there is my
problem!

Reply via email to