事件未触发(onclick)
Event not firing up (onclick)
尝试更改几乎所有内容(即 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>
我做错了什么?
检查生成的html(源代码),检查生成的for标签是否有相同的Id。标签的 Id 是服务器端 Id,而不是客户端。这就是 javascript 找不到元素的原因。
将 ClientId 属性 添加到您的标签控件 (ClientId="l") 并再次检查。
问候
- 使用标签的ClientId
停止post表格,用"return false"
<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>
这里是错误的。
document.getElementById('l').innerText = "after";
我尝试更改 "innerHTML" 而不是 "innerText"。它奏效了。总之谢谢大家!
尝试更改几乎所有内容(即 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>
我做错了什么?
检查生成的html(源代码),检查生成的for标签是否有相同的Id。标签的 Id 是服务器端 Id,而不是客户端。这就是 javascript 找不到元素的原因。
将 ClientId 属性 添加到您的标签控件 (ClientId="l") 并再次检查。
问候
- 使用标签的ClientId
停止post表格,用"return false"
<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>
这里是错误的。
document.getElementById('l').innerText = "after";
我尝试更改 "innerHTML" 而不是 "innerText"。它奏效了。总之谢谢大家!