Javascript通过innerhtml更改标签的文本无法正常工作

时间:2011-10-20 14:45:49

标签: javascript asp.net c#-4.0

我有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;
            }
        }

它调用了Button的OnClientClick事件,如下所示:

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

我正在尝试更改lblStatus方法上标签validateFile()的文字,但文字没有改变。但是,在调试时... QuickWatch显示更改的值。可能是什么原因造成的?我该如何解决这个问题?

4 个答案:

答案 0 :(得分:3)

我曾建议使用innerText但显然,符合W3C标准的方法是使用textContent:

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

请参阅Mozilla's documentation here

答案 1 :(得分:1)

在属性上使用正确的大小写:innerHTML

http://www.tizag.com/javascriptT/javascript-innerHTML.php

答案 2 :(得分:1)

Javascript区分大小写,如果您设置innerhtml属性而不是innerHTML,则您将看不到任何内容。

答案 3 :(得分:0)

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

获取要在e。

中输出的ID