【发布时间】:2013-07-20 20:58:03
【问题描述】:
我正在尝试启用和禁用文本框,这取决于使用 java 脚本选中的复选框,有没有办法做到这一点?
这是我的代码
<script type="text/javascript">
function ed1(bEnable, textBoxID, textBoxID2) {
document.getElementById("<%= textBoxID.ClientID %>").disabled = !bEnable
document.getElementById("<%= textBoxID2.ClientID %>").disabled = !bEnable
}
</script>
这里是复选框和文本框
<asp:CheckBox ID="CH0" runat="server" Font-Names="Tahoma" onclick="ed1(this.checked, 'TB1', 'TB2');"
Font-Size="X-Small" Style="font-size: 12px; right: 20px; color: #006699;
font-family: Tahoma; position: absolute; top: 25px; width: 80px;"
/>
<asp:TextBox ID="TB0" runat="server" EnableViewState="False" Height="12px" MaxLength="2"
Style="font-size: 11px; right: 110px; vertical-align: middle; color: #0099ff; font-family: tahoma;
position: absolute; top: 25px; text-align: left; width: 15px; " Enabled="false"
Wrap="False" ValidationGroup="1234567890"></asp:TextBox>
<asp:TextBox ID="TB1" runat="server" EnableViewState="False" Height="12px" MaxLength="2"
Style="font-size: 11px; right: 140px; vertical-align: middle; color: #0099ff; font-family: tahoma;
position: absolute; top: 25px; text-align: left; width: 15px; " Enabled="false"
Wrap="False" ValidationGroup="1234567890"></asp:TextBox>
它不会起作用,因为 asp 不理解 textBoxID 的含义! (它已在 javascript 上声明!)
我收到以下错误:
BC30451: 'textBoxID' is not declared. It may be inaccessible due to its protection level.
如果我使用实际的 ID 而不是 textBoxID2,它会很好用,但是因为我有很多复选框和很多文本框来启用和禁用无数的 javascript,这似乎不是一个好主意!
让我知道这是否可以解决并提前感谢
【问题讨论】:
-
如果您有单独的 javascript 文件,它将不起作用,但如果您在 aspx 页面中有此代码,它将起作用。
-
它在 aspx 文件的末尾,在内容标记之前,其中存在相同的复选框和文本框!但它仍然不起作用!编辑:这是错误 BC30451: 'textBoxID' 未声明。由于其保护级别,它可能无法访问。
-
是 textboxID 而 textboxID2 不是实际 asp.net 控件的 id 吗?你想循环遍历所有控件并动态禁用它吗?检查这个stackoverflow.com/questions/2617629/…
-
@Devesh 感谢重播它们是服务器端 ID 我已添加 asp 文本框和复选框代码
-
没有答案?!我只需要做这么多功能?这是最后一件事?
标签: javascript asp.net vb.net checkbox textbox