2012-04-27 27 views
5

嗯,我有這樣的代碼中的觀點:爲什麼輸入的值屬性不變?

<input id="CI.SiteName" type="text" value="" name="@@CI.SiteName" disabled=""> 

,然後我做了一些事件,將調用該函數:

chooseSite = function() { 
    var url = "/main/Ajax/GetSiteDetail?" + 
     "&cid=" + escape(idSite); 

    var ajx = sendAJAX(url, true); 

    ajx.onreadystatechange = function() { 
     if (ajx.readyState == 4) { 
      var result = ajx.responseText;  
      result = "TOP"; 
      document.getElementById("CI.SiteName").value = result; 
     } 
    } 
} 

在瀏覽器改成了「TOP」但是當我檢查元素螢火蟲,INPUT的VALUE屬性仍然「」,沒有改變。

+1

你爲什麼要求getElementById()方法?它從來不應該改變任何東西。 – Bergi 2012-04-27 07:35:01

回答

11

value屬性未與實際值同步;這就是value屬性的用途。

這不是一個問題,但因爲您永遠不會使用.getAttribute('value'),而是使用屬性.value來訪問當前值。

+0

我不明白:| – 2012-04-27 07:38:46

+2

@ Mr.Rendezvous - 他意味着HTML屬性和JavaScript對象的屬性不是同一回事,它並不重要。 – 2012-04-27 07:40:09

+1

看看http://stackoverflow.com/a/5876747/298479 - 雖然它與jQuery相關,但它很好地解釋了它。 – ThiefMaster 2012-04-27 07:40:25

相關問題