使用Ajax加载html时,JS函数无法正常工作

时间:2009-11-06 09:05:25

标签: javascript html ajax asp-classic

当我加载一个asp文件(Main_Page_1.asp)时,在按钮的click事件中有一个函数调用不起作用。我被困在了。

for eg:-
Main_Page_1.asp 


<head><script type="text/javascript" src="JsFile.js"></script>

<script type="text/javascript"> 

function buttonClicked ()
 {
var xmlHttp;
try
  {  
  xmlHttp=new XMLHttpRequest();  }
catch (e)
  { 
   try
    {    
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");   
     }
  catch (e)
    {   
     try
      {     
       xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");   
          }
    catch (e)
      {      
      alert("Your browser does not support AJAX!");      
      return false; 
           }    
           } 
            }
  xmlHttp.onreadystatechange=function()
    {
    if(xmlHttp.readyState==4)
      {
document.getElementById("ajaxResult").innerHTML='';      
document.getElementById("ajaxResult").innerHTML= xmlHttp.responseText;

      }
    }
   xmlHttp.open("GET","Result_Page_2.asp" ,true);
 xmlHttp.send(null); 
   }
</script>
</head>
<body >
<div id=”ajaxResult”></div><button onclick="buttonClicked()">click me</button></body>

Result_Page_2.asp

<head><script type="text/javascript" src="JsFile.js"></script>
</head>
<body >
<a  rel="HSTIP" herf=”Details_page.asp”>Details</a><div style="width: 178px" id="HSTIP" 
class="MTStyle" >My Mouse Tool Tip</div></body>

这是我尝试使用ajax加载的asp文件(Result_Page_2.asp)。现在,事件发生时,不会执行驻留在JsFile.js中的buttonClicked()。

在JsFile.js文件中用于将鼠标尖端窗口加载到“详细信息”超链接的鼠标上

请告诉我哪里出了问题。

3 个答案:

答案 0 :(得分:1)

我在确切了解您的问题时遇到了一些麻烦,但您可能知道的是,使用innerHTML直接注入的脚本标记不会被浏览器处理。如果你需要异步加载其他Javascript,你应该查看jquery或扩展AJAX功能的类似javascript库来解决这个问题。

答案 1 :(得分:0)

Result_Page_2.asp

<head><script type="text/javascript" src="JsFile.js"></script>
</head>
<body >
<a  rel="HSTIP" herf=”Details_page.asp”>Details</a><div style="width: 178px" id="HSTIP" 
class="MTStyle" >My Mouse Tool Tip</div><body>

您的结束标记没有“/”

答案 2 :(得分:0)

好像您的第二页将返回整个页面,包括&lt;头&gt;和&lt;身体&gt;标签。 JsFile.js包含什么?

我建议您使用Firebug Add-On来分析您从第2页回复的响应。从那里,你可以看到你正在回来的确切内容。