2011-07-22 81 views
-2

我有這個HTML表單,它使用AJAX將數據傳遞給一個php文件。 (我這樣做,所以我不必離開當前頁面)。螢火蟲給我兩個錯誤:Firebug給出錯誤「Ajax未定義」

document.getElementById("name") is null 
ajaxget is not defined 

我今天才開始使用AJAX出於絕望,所以我對它很陌生。 PHP文件是second.php,重要的部分是它接收到的變量,因此可以創建要由另一個HTML以後使用的輸出,但它並沒有回回應:

 <html> 
     <head> 
     </head> 

     <body> 
     <script type="text/javascript"> 
     function ajaxRequest(){ 
     var activexmodes=["Msxml2.XMLHTTP", "Microsoft.XMLHTTP"] //activeX versions to check for in IE 
     if (window.ActiveXObject){ //Test for support for ActiveXObject in IE first (as XMLHttpRequest in IE7 is broken) 
      for (var i=0; i<activexmodes.length; i++){ 
      try{ 
      return new ActiveXObject(activexmodes[i]) 
      } 
      catch(e){ 
      //suppress error 
      } 
      } 
     } 
     else if (window.XMLHttpRequest) // if Mozilla, Safari etc 
      return new XMLHttpRequest() 
     else 
      return false 
     } 
      var mygetrequest=new ajaxRequest() 
     mygetrequest.onreadystatechange=function(){ 
     if (mygetrequest.readyState==4){ 
      if (mygetrequest.status==200 || window.location.href.indexOf("http")==-1){ 
      document.getElementById("result").innerHTML=mygetrequest.responseText 
      } 
      else{ 
      alert("An error has occured making the request") 
      } 
     } 
     } 
     var namevalue=encodeURIComponent(document.getElementById("name").value) 
     var agevalue=encodeURIComponent(document.getElementById("age").value) 
     mygetrequest.open("GET", "second.php?name="+namevalue+"&age="+agevalue, true) 
     mygetrequest.send(null) 

     </script> 

     <form method="get" action=""> 
     Your name: <input type="text" id="name" name="name" size="25" /> <br /> 
     Your age: <input type="text" id="age" name="age" size="25" /> <br /> 
     <input type="button" value="submit" onClick="ajaxget()" /> 
     </form> 
     <div id="result"> </div> 

     </body> 

     </html> 

回答

2

文件。 getElementById(「name」)爲空

您有var namevalue=encodeURIComponent(document.getElementById("name").value)之外的任何函數。因此它在解析<script>元素時運行 - 即在DOM中存在具有該id的元素之前。

ajaxget沒有定義

你有onClick="ajaxget()"但沒有在任何地方你的ajaxget(如function ajaxget() { …

0
<input type="button" value="submit" onClick="ajaxget()" /> 
               ^^^^^^^^^--- where is this function? 

任何其他別說你沒有在規定的ajaxget()功能您代碼

+0

我沒有寫AJAX代碼,我以爲我可以實現這個代碼我的項目,他們顯然缺少ajaxget(),我如何以及在哪裏可以在當前代碼中定義這個特定的功能?我從代碼:http://www.javascriptkit.com/dhtmltutors/ajaxgetpost.shtml – pinky

+0

滾動你自己的ajax處理程序是這樣的痛苦...只是使用mootools或jQuery。他們會爲你處理所有繁重的工作,並讓你回到實際的工作中。 –

相關問題