开发者

Javascript Problem

I am trying to execute a script in a div tag by AJAX. But in the div tag the script does not run.

Here is my Code:

<div id="div0" align="right">
  <script type="text/javascript">
  <!--
    alert("Hi");
  -->
  </script>
</div>  

It does not work for me. Please anybody tell me, what is the problem?

Edit:

My complete code is that:

<html>  
   <head>  
   <script type="text/javascript">
      var xmlhttp;
      function loadXMLDoc(url)
      {
        xmlhttp=null;
        if (window.XMLHttpRequest)
        {// code for Firefox, Opera, IE7, etc.
          xmlhttp=new XMLHttpRequest();
        }
        else if (window.ActiveXObject)
        {// code for IE6, IE5
          xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
        if (xmlhttp!=null)
        {
          xmlhttp.onreadystatechange=state_Change;
          xmlhttp.open("GET",url,true);
          xmlhttp.send(null);
        }
        else
        {
          alert("Your browser does not support XMLHTTP.");
        }
      }

     function state_Change()
     {
      if (xmlhttp.readyState==4)
      {// 4 = "loaded"
        if (xmlhttp.status==200)
        {// 200 = "OK"
         document.getElementById('T1').innerHTML=xmlhttp.responseText;
        }
        else
        {
          alert("Problem retrieving data:" + xmlhttp.statusText);
        }
     }
   }
   </script>
   </head>

   <body onload="loadXMLDoc('test_xmlhttp.php')">
     <div id="T1"></div><br />
   </body>

  </html>  

My test_xmlhttp.php is as follows:

  <script type="text/javascript">
  <!--
    alert("Hi");
  -->
  </script>

I want an alert box shows Hi when the AJAX开发者_如何学Go is completed. But Nothing happens. Please Please Please give me a solution.


You should use HTML elements(eg. >) instead of greater-than (>) or less-than (<) characters. Try following code.

<div id="div0" align="right">  <br />
  &lt;script type="text/javascript"&gt; <br />
  &lt;!--  <br />
    alert("Hi");  <br />
  --&gt;  <br />
  &lt;/script&gt;  <br />
</div>   <br />


The problem might be the HTML comments, which should be commented out as S.Mark points out.

However, there is no reason to include those comments whatsoever. They were originally suggested to prevent browsers without JavaScript/JScript support from breaking on the code (trying to read it as markup). I think the last browsers with that problem came out in like '95 and are no longer in use :)

There is a legit reason to use CDATA blocks if you're serving an XHTML 1.0 Strict document, but I doubt you're going for that.


Perhaps you are running it locally and your browser is preventing the javascript from being run?

I just ran the code on my site and it loads up just fine.


There is no point of failing in this. I tried it on IE8 and Firefox. IE8 blocks it. But once the block is removed, it works fine. Have you noticed any blockage by IE?


try using eval() function in your state_Change function as below:

document.getElementById('T1').innerHTML=eval('('+xmlhttp.responseText+')');
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜