HEllo - 我在复选框选中(启用)或取消选中(禁用)时尝试启用/禁用文本框。 使用这段代码,一旦选中/取消选中复选框,我就什么也没发生。 这就是我所拥有的:
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="AssociationInfo.ascx.cs" Inherits="Administration.Modules.AssociationInfo" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
<script type="text/javascript" language="javascript">
function enableTextBox() {
window.onload = function () {
var check = document.getElementById("chkAssociation");
check.onchange = function () {
if (this.checked == true)
document.getElementById("txtAddress").disabled = false;
else
document.getElementById("txtAddress").disabled = true;
};
};
}
</script>
<div>
<h2>Association Info</h2>
<br />
<asp:CheckBox Checked="false" ID="chkAssociation" runat="server" />
<asp:TextBox ID="txtAddress" Text="Test" runat="server" />
</div>
代码在Web用户控件中。这可能是为什么不能正常工作的原因吗?
感谢您的帮助
感谢大家提前帮助,Laziale
答案 0 :(得分:4)
请关闭AutoPostBack。
<asp:CheckBox Checked="false"
OnChange="javascript:enableTextBox();"
ID="chkAssociation"
runat="server" />
编辑:试试这段代码,
<script type="text/javascript">
window.onload = function() {
var check = document.getElementById("<%=chkAssociation.ClientID %>");
check.onchange = function() {
if (this.checked == true)
document.getElementById("<%=txtAddress.ClientID %>").disabled = false;
else
document.getElementById("<%=txtAddress.ClientID %>").disabled = true;
};
};
</script>
<asp:CheckBox Checked="false" ID="chkAssociation" runat="server" />
<asp:TextBox ID="txtAddress" Enabled="false" Text="Test" runat="server" />
答案 1 :(得分:2)
尝试“onclick”而不是“onchange” - 我相信这就是你要找的东西。
答案 2 :(得分:1)
检查
1.如果选中了复选框,则文本框将被禁用
<script type="text/javascript">
function enableDisable(bEnable, textBoxID)
{
document.getElementById(textBoxID).disabled = bEnable
}
</script>
<asp:TextBox ID="t1" Text="" runat="server" />
<asp:CheckBox ID="chk1" Checked="false" onclick="enableDisable(this.checked, 't1');" runat="server" />
2.如果选中复选框,则启用文本框
<script type="text/javascript">
function enableDisable(bEnable, textBoxID)
{
document.getElementById(textBoxID).disabled = !bEnable
}
</script>
<asp:TextBox ID="t1" Text="" runat="server" />
<asp:CheckBox ID="chk1" Checked="true" onclick="enableDisable(this.checked, 't1');" runat="server" />