2014-06-11 84 views
0

我在php頁面上有2個隱藏字段。
1. <input type="hidden" name="clinic" id="clinic">
2. <input type="hidden" name="flag" id="flag">
通過ajax響應設置隱藏字段值

我要設置這些領域雖然Ajax響應的價值。當我通過ajax響應設置這些值時,它不會被反映出來。
但是,當我從這些<input >中刪除type="hidden"標記值是根據需要設置的。
如下
1. <input name="clinic" id="clinic">
2. <input name="flag" id="flag">

我不知道爲什麼會這樣?幫我。
1函數調用的ajax &設定的響應如下

xmlhttp.onreadystatechange=function() 
    { 
     if (xmlhttp.readyState==4 && xmlhttp.status==200) 
     { 
      document.getElementById("clinic").value=xmlhttp.responseText; 

     } 
    } 


第二個函數調用的ajax &設定的響應如下

xmlhttp.onreadystatechange=function() 
    { 
     if (xmlhttp.readyState==4 && xmlhttp.status==200) 
     { 
      document.getElementById("flag").value=xmlhttp.responseText; 

     } 
    } 

這是我的實際Ajax請求

function showAppFlag(leadid,param) 
{  
    serviceid = "1"; 
    if (leadid=="") 
    { 
     document.getElementById("Flag").value=""; 
     return; 
    } 
    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('Flag').value= xmlhttp.responseText; 
      var flags = document.getElementById('Flag').value; 

      if(trim(flags)== "APP" && document.getElementById('cmb_subdispose').value == "APP") 
      { 
       alert('please select other disposition'); 
       return; 
      } 
      else 
      {     
       showClinicFlag(leadid,param); 
      } 
     } 
    } 
    xmlhttp.open("GET","ctiservice.php?Type=FlagApps&lead_id="+leadid+"&service="+serviceid,true); 
    xmlhttp.send(); 
} 
+1

你發佈代碼如何設置值。 –

+1

你可以顯示你的代碼嗎? –

+0

我想,我已經正確設置了值。請參閱編輯過的部分 – user3713775

回答

0

先試試機智h type = text,type = hidden不會出現問題。爲什麼你不能使用這樣

 xmlhttp.onreadystatechange=function() 
     { 
      if (xmlhttp.readyState==4 && xmlhttp.status==200) 
      { 
       document.getElementById("clinic").value=xmlhttp.responseText; 
       document.getElementById("flag").value=xmlhttp.responseText;   
      } 
     } 
+0

type =「text」正常,但type =「hidden」不是 – user3713775

+0

請顯示ajax代碼。這將有助於解決。因爲我已經嘗試過隱藏類型,所以對我來說工作正常。 – Antony

+0

我現在把原始代碼的ajax請求。請檢查是否有任何錯誤 – user3713775

0

閱讀.value的VS的setAttribute後可能是一個性能 VS 屬性問題。我沒有看到你如何或何時訪問隱藏的值,但如果它是在表單提交之後,那麼屬性可能沒有被設置,因爲.value設置了字段的當前值(屬性),並且你得到空值。嘗試使用setAttribute。

這是我最好的猜測使用提供的信息。