2011-10-20 41 views
0

我有這個javascript功能:的Javascript改變標籤的文本不工作

function validateFile() { 
      var file = document.getElementById('fuCSV'); 
      if (file.value == "") { 
       document.getElementById('<%=lblStatus.ClientID%>').innerhtml = "Please select a file to upload. Client!"; 
       return false; 
      } 
      else { 
       document.getElementById('<%=lblStatus.ClientID%>').innerhtml = ""; 
       return true; 
      } 
     } 

它呼籲按鈕的OnClientClick事件是這樣的:

<asp:Button ID="btnImport" runat="server" Text="Import" OnClientClick="return validateFile();" CausesValidation = "true" 
      UseSubmitBehavior ="true" OnClick="btnImport_Click" /> 

我試圖改變的文本方法validateFile()上的標籤lblStatus,但文字不變。但是,在調試時... QuickWatch顯示更改的值。可能是什麼原因呢?我該如何解決這個問題?

+3

'innerhtml'只是'innerHTML'的一個錯字? – Prusse

+0

你嘗試設置innerText而不是innerHTML嗎? – Icarus

+0

@Prusse:亞......其案例問題......謝謝!我浪費了很多時間來找出原因,沒有運氣! – NaveenBhat

回答

1

JavaScript是大小寫敏感的,如果設置innerhtml屬性,而不是innerHTML你不會看到任何東西。

3

我曾建議使用innerText但顯然,這樣做的符合W3C規範的方法是使用的textContent:

document.getElementById('<%=lblStatus.ClientID%>').textContent = "Please select a file to upload. Client!"; 

Mozilla's documentation here

+0

有趣的是,我不知道textContent –

0
var e = document.getElementById("fName_err"); 
e.innerHTML = "** Enter first name"; 

得到你想在e中給出輸出的id。