2014-08-27 95 views
0

我需要轉換messbox值,以便它可以傳遞到loadPHPDoc函數,但我似乎無法成功傳輸數據。它成功地加載了PHP文件,當我將引號放在實際參數的周圍時,但我沒有,它根本不使用該函數,並且不起作用。這裏是我的代碼:將文本輸入轉換爲javascript函數的實際參數

<!DOCTYPE html> 
<html> 

<body> 

<p id="myDiv">no</p> 

<script> 
    function loadPHPDoc(str){ 
     var xmlhttp; 
     if (window.XMLHttpRequest) 
      {// code for IE7+, Firefox, Chrome, Opera, Safari 
      xmlhttp=new XMLHttpRequest(); 
      } 
     else 
      {// code for IE6, IE5 
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
      } 
     var url = "testSubmit.php"; 
     xmlhttp.onreadystatechange=function() 
      { 
      if (xmlhttp.readyState==4 && xmlhttp.status==200) 
      { 
      document.getElementById("myDiv").innerHTML=xmlhttp.responseText; 
      } 
      } 
     xmlhttp.open("POST","testSubmit.php",true); 
     xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded"); 
     var sender = "q=" + str; 
     xmlhttp.send(sender); 
     document.getElementById("myDiv").innerHTML = str; 
    } 

</script> 

     <p>Message <input type= "text" id="messbox"></p> 
     <button type= "button" onclick="loadPHPDoc(document.getElementById(messbox).value)">input</button> 

</body> 
</html> 
+0

支持IE5和IE6,真的嗎? (; 你能設置一個jsfiddle嗎?它使我們更容易幫助你 – 2014-08-27 21:57:25

+0

如果你不把'messbox'放在引號中,它會嘗試使用'messbox'作爲變量。 – Barmar 2014-08-27 22:01:57

+0

@FranciscoPresencia它是隻是普通的樣板。 – Barmar 2014-08-27 22:02:26

回答

2

document.getElementById()接收一個字符串作爲參數,所以:

<button type= "button" onclick="loadPHPDoc(document.getElementById('messbox').value)">input</button> 
+0

非常感謝,解決了這個問題。 – 2014-08-27 22:56:22