2014-03-07 43 views
0

我有一個隱藏字段的形式,並希望將值發送到另一個php頁面處理請求並顯示它在一個div標記。但是,AJAX似乎並沒有發佈隱藏字段值 下面是我的形式和Ajax代碼發送數據在ajax的post方法的幫助

<form name='cc' method='post' onsubmit='return disp()'> 
<input name='id' type='hidden' value='" . $id. "'/> 
<input type='submit' name='btnr' value='Display' /> 
</form> 
<script> 
function disp(){ 
    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"); 
    } 
    xmlhttp.onreadystatechange=function() 
    { 
     if (xmlhttp.readyState==4 && xmlhttp.status==200) 
     { 
      document.getElementById("display").innerHTML=xmlhttp.responseText; 
     } 
    } 
    var id=document.forms["cc"]["id"].value; 
    xmlhttp.open("POST","fetch.php",true); 

    xmlhttp.send(id); 
} 
</script> 

回答

0

它應該是:

xmlhttp.send('id=' + urlencode(id)); 

您需要包括表單元素的名稱,從而使PHP可以把它放在$_POST

您還需要將return false;放在disp()的末尾,以防止正常的表單提交,這將重新加載頁面。

+0

仍然無法正常工作 – user3225075

+0

Javascript控制檯中是否有任何錯誤?您是否檢查過開發者工具的網絡標籤以查看實際發送的內容? – Barmar

+0

如果我使用get方法,那麼一切工作正常,或者如果我使用post方法沒有ajax那麼也一切工作正常,但不知道如果我在一次使用post方法和ajax會出錯 – user3225075