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