Hi HLS & Glenn,
Glenn - I see what you mean by using straight JS, you were correct I was going
straight js and should have been using the ajax calls - thanks for the
clarification.
HLS - I tried changing my ajax success from:
document.getElementById("destDiv1").innerHTML = thehtml;
to
$("#destDiv1").html(thehtml);
as you suggested and while it does run the alert message, it still fails out on
the document.getElementByID in the destination page with the same error:
TypeError: document.getElementById("blah1") has no properties
Would you be able to paste in your sample app that you created? I am probably
missing something small.
Thanks for the help and suggestion!
-Kevin
> From: [EMAIL PROTECTED]
> To: [email protected]
> Subject: [jQuery] Re: AJAX GetElementByID problem
> Date: Fri, 31 Aug 2007 02:25:39 -0700
>
>
> Kevin, I am not sure why you get this property error, but I believe
> that the blah1 script will not be evaluated when you go native with
> getElementById().
>
> Atleast not here when I did a quick emulated test of your code.
> However, changing it to:
>
> $("#destDiv1").html(thehtml);
>
> worked perfectly, with blah1 script doing the alert and the adding
> text to the blah1 <div> container.
>
> --
> HLS
>
> Kevin wrote:
> > Hi All,
> >
> > I'm trying to use an ajax call to call a 2nd page which uses a
> > getElementByID to set a div's content on that page. If I just try to
> > call the 2nd page, I get a js error that I can't run the
> > getElementByID because it has no properties. If I change the 2nd page
> > to be a callback function and call that via the callback function of
> > jquery it works fine, so it sounds like an order of operations problem
> > here. Is there anyway to allow getElementByIDs without forcing them
> > in a callback function?
> >
> > Here is my ajax call:
> > <div id="destDiv1">
> > <script language="JavaScript">
> > document.getElementById("destDiv1").innerHTML = "<div align=\"center
> > \"><img src=\"/ajax/ajax-loader.gif\" alt=\"Loading...\" /></div>";
> > $.ajax({
> > url: 'j1.html?a=' + Math.random(),
> > type: 'GET', dataType: 'html', timeout: 60000,
> > error: function(a,b,c){
> > document.getElementById("destDiv1").innerHTML = 'Error
> > loading
> > channel' + a + "|" + b + "|" + c;
> > },
> > success: function(thehtml){
> > // do something with HTML
> > document.getElementById("destDiv1").innerHTML = thehtml;
> > }
> > });
> > </script>
> > </div>
> >
> > Now the page to be loaded:
> >
> > <div id="blah1"></div>
> > <script language="JavaScript">
> > alert("hi");
> > document.getElementById("blah1").innerHTML = "<strong>hi</strong>";
> > </script>
> >
> > This throws the error: TypeError: document.getElementById("blah1") has
> > no properties
> >
> > Any ideas?
> >
> > Thanks!
> >
> > -Kevin
>
_________________________________________________________________
News, entertainment and everything you care about at Live.com. Get it now!
http://www.live.com/getstarted.aspx