尝试改变几乎所有东西(即runat =“server”,单双冒号) 这是尝试:
<head runat="server">
<script type="text/javascript" >
function Decide() {
document.getElementById('l').innerText = "after";
}
</script>
</head>
<body>
<form id="form1" runat="server">
<button onclick="Decide()">Click!</button>
<asp:Label ID="l" runat="server">before</asp:Label>
</form>
</body>
我做错了什么?
答案 0 :(得分:0)
检查生成的html(源代码)以检查生成的标签是否具有相同的Id。标签的ID是服务器端Id,而不是客户端。这就是javascript找不到元素的原因。
将ClientId属性添加到标签控件(ClientId =“l”)并再次检查。
问候
答案 1 :(得分:0)
停止发布表单,使用&#34;返回false&#34;
<script type="text/javascript" >
function Decide() {
document.getElementById('<%=l.ClientID%>').innerHTML = "after";
return false;
}
</script>
</head>
<body>
<form id="form1" runat="server">
<button onclick=" return Decide()">Click!</button>
<asp:Label ID="l" runat="server">before</asp:Label>
</form>
</body>
答案 2 :(得分:0)
这是错误。
document.getElementById('l').innerText = "after";
我尝试改变&#34; innerHTML&#34;而不是&#34; innerText&#34;。它奏效了。无论如何,谢谢大家!