2012-07-10 38 views
0

我在生產服務器上收到Object Expected錯誤,但未收到預覽服務器。唯一的區別(據我所知)是我的預覽服務器使用舊版本的IIS。但我不知道爲什麼會導致這個錯誤?Javascript:Object Expected Error on Auto Complete

的錯誤是在這條線在我的HTML:

<input type="text" id="txt1" onkeyup="showHint(this.value)" name="txtprjName" tabindex="1" size="100" maxlength="50" /> 
<span id="txtHint"></span> 

showHint是指的一個外部JavaScript文件在同一目錄中的HTML文件。

<script language="javascript" type="text/javascript" src="clienthint.js"></script> 

而且clienthint.js的內容是這樣的:

var xmlHttp 
function showHint(str){ 
    if (str.length==0){ 
     document.getElementById("txtHint").innerHTML=""; 
     return; 
    } 
    xmlHttp=GetXmlHttpObject() 
    if (xmlHttp==null){ 
     alert ("Your browser does not support AJAX!"); 
     return; 
    } 
    var url="gethint.asp"; 
    url=url+"?q="+str; 
    url=url+"&sid="+Math.random(); 
    xmlHttp.onreadystatechange=stateChanged; 
    xmlHttp.open("GET",url,true); 
    xmlHttp.send(null); 
} 
function stateChanged() { 
    if (xmlHttp.readyState==4){ 
     document.getElementById("txtHint").innerHTML=xmlHttp.responseText; 
    } 
} 
function GetXmlHttpObject(){ 
    var xmlHttp=null  
    try{ 
     // Internet Explorer 
     xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); 
    }catch (e){ 
     try{ 
      // Internet Explorer 
      xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); 
     }catch (e){ 
      // Firefox, Opera 8.0+, Safari 
      xmlHttp=new XMLHttpRequest(); 
     } 
    } 
    return xmlHttp; 
} 

不知道爲什麼這是不工作?有任何想法嗎?謝謝。

+0

你會在哪一行發生錯誤? – Bergi 2012-07-10 17:21:19

+0

請調試它。如果您有具體問題,請詢問。 – akonsu 2012-07-10 17:23:05

+0

BTW:添加缺少的分號;並且在不支持Ajax的瀏覽器中,它應該默默地失敗,而不是在每次擊鍵時發出警報 - 該提示對於您的應用程序而言並不重要。 – Bergi 2012-07-10 17:23:39

回答

0

我將javascript移至主網頁,而不是將其包含在外部,並且代碼現在可用。