我尝试通过Java脚本onClientClick更改表格的背景颜色。但背景并没有改变。
脚本:
<script type="text/javascript">
function compTableBGChange() {
document.getElementById("tableComptag").style.backgroundColor = "Black";
}
</script>
我的表:
<table id="tableCompTag">
<tr>
<td>
<asp:Label ID="Label2" runat="server" Text="Computer Tag"></asp:Label>
</td>
<td>
<asp:TextBox ID="txtBxCompTag" runat="server" Width="166px" ReadOnly="True">
</asp:TextBox>
</td>
<td>
<asp:Button ID="btnCompTagUpdate" runat="server" Text="Edit"
onclick="btnCompTagUpdate_Click" OnClientClick="compTableBGChange()"/>
</td>
<td>
<asp:Button ID="btnCancel" runat="server" Text="Cancel" Visible="False"
onclick="btnCancel_Click" />
</td>
<td></td>
</tr>
</table>
这有什么问题,如何解决?
答案 0 :(得分:1)
您没有阻止该按钮发回服务器。因此,您应return false
OnClientClick
或使用HTMLInputButton
代替runat=server
。如果您想要回发,则应制作表格OnClientClick="compTableBGChange();return false;"
并通过HtmlTable.BgColor更改服务器端的样式。
document.getElementById
除此之外,document.getElementById("tableComptag")
对ID属性(至少in IE8和in FF)执行区分大小写匹配。
所以替换
document.getElementById("tableCompTag")
与
{{1}}
答案 1 :(得分:1)
你如何尝试onClientClick。 参考 http://woaychee.wordpress.com/2007/09/13/call-javascript-from-aspnet-20-button-click/
<asp:button runat="server" text="Click Me" OnClientClick="javascript:compTableBGChange()" id="myButton"></asp:button>
加上使用正确的参考。 tableCompTag