尝试使用JavaScript更改asp.net标签值时出错

时间:2015-02-18 21:40:31

标签: javascript c# asp.net

我有一个asp.net网站。我想在JavaScript函数中更改标签值。

这是我的代码,

<td id="m1" runat"server" onclick = "createChart_Jan"></td>
<asp:Label ID="lblGeneral" runat="server" Text="" Font-Bold="true" Font-Size="Medium"></asp:Label>

的JavaScript,

function createChart_Jan() {
   var month = 1;
   var d = new Date();
   var month_current = d.getMonth() + 1;
   if(month > month_current)
   {
      document.getElementbyId("lblGeneral").innerHTML = "0";
   }
   else
   {
      document.getElementbyId("lblGeneral").innerHTML = "500";
   }
}

但是当我点击td元素时,我收到“Uncaught TypeError:undefined is not function”错误。

有关上述代码有什么问题的想法吗?

2 个答案:

答案 0 :(得分:2)

你几乎没有错误 -

  1. 点击呼叫功能应为onclick="createChart_Jan();"
  2. 如果您想从客户端调用服务器端控件的ID,则需要使用lblGeneral.ClientID
  3. getElementById (getElementbyId不正确)
  4. 修复

    <td  id="m1" runat="server" onclick="createChart_Jan();">test</td>
    <asp:Label ID="lblGeneral" runat="server" Text="" Font-Bold="true" Font-Size="Medium"></asp:Label>
    <script>
        function createChart_Jan() {
            var month = 1;
            var d = new Date();
            var month_current = d.getMonth() + 1;
            if (month > month_current) {
                document.getElementById("<%= lblGeneral.ClientID %>").innerHTML = "0";
            }
            else {
                document.getElementById("<%= lblGeneral.ClientID %>").innerHTML = "500";
            }
        }
    </script>
    

    如何调试

    您可以使用浏览器的调试程序来调试JavaScript。例如,Chrome

    enter image description here

答案 1 :(得分:0)

您应该尝试通过ClientID而不是serverID来获取它

类似的东西:

document.getElementById('<%= lblGeneral.ClientID %>')