无法为 javascript 中的 asp.net 文字标记设置 innerHTML



我有以下JavaScript:

<script type="text/javascript">function CountChar(idTxtBox, idCharCount) {
        var maxLength = 500;
        var remChars = maxLength - document.getElementById(idTxtBox).value.length;
        document.getElementById(idCharCount).innerHTML = remChars + " of " + maxLength + " characters remaining";
    }
</script>

由以下字段引用并引用:

<tr>
    <td class="pageText2"><asp:Literal runat="server" id="litLastUpdateInfo"></asp:Literal></td>
    <td class="pageText2" style="text-align: right;"><asp:Literal runat="server" id="litCharCount"></asp:Literal></td>
</tr>
<tr><td colspan="2" class="pageText2Bold">Note: </td></tr>
<tr>
    <td colspan="2"><asp:TextBox ID="txtStickyNote" style="padding:3px;" runat="server" Width="100%" Text="" CssClass="pageText2" TextMode="MultiLine" Rows="5" maxlength="500" /></td>
</tr>

我在页面上的代码中设置的键盘事件上调用countchar函数:

txtStickyNote.Attributes.Add("onKeyUp", "CountChar('" & txtStickyNote.ClientID & "', '" & litCharCount.ClientID & "')")

当我输入文本区域时,我希望角色数量减少,但是我会收到以下错误:

document.getElementById(idCharCount).innerHTML = remChars + " of " + maxLength + " characters remaining";
Unable to set property 'innerHTML' of undefined or null reference

是因为它是ASP:字面标签吗?我可以更改类型无问题,只需要使文本更新即可。

谢谢

,所以问题是我试图修改字面控制的InterHTML。我将其切换到标签控件,并且可以在框中输入时更改文本。

最新更新