Javascript 在复选框更改时禁用文本框
我有一个复选框,选中时会禁用两个文本框。取消选中时,将启用复选框。下面是JavaScript:Javascript 在复选框更改时禁用文本框,javascript,asp.net,html,Javascript,Asp.net,Html,我有一个复选框,选中时会禁用两个文本框。取消选中时,将启用复选框。下面是JavaScript: function enableField() { prePracticeCodeTextBox = document.getElementById('prePracticeCodeTextBox'); preContactTextBox = document.getElementById('preContactTextBox'); checkTheBox = document.
function enableField() {
prePracticeCodeTextBox = document.getElementById('prePracticeCodeTextBox');
preContactTextBox = document.getElementById('preContactTextBox');
checkTheBox = document.getElementById('CheckBox1');
if (checkTheBox.checked == true) {
prePracticeCodeTextBox.disabled = false;
preContactTextBox.disabled = false;
}
else {
prePracticeCodeTextBox.disabled = true;
preContactTextBox.disabled = true;
}
}
以下是HTML:
<dl>
<dt><label for="CheckBox1">PreAnalytical?</label></dt>
<dd> <asp:CheckBox ID="CheckBox1" runat="server" CausesValidation="false"
Visible="true" OnCheckChanged="enableField()"/></dd>
</dl>
<dl>
<dt><label for="prePracticeCodeTextBox">Practice Code:</label></dt>
<dd><asp:TextBox ID="prePracticeCodeTextBox" runat="server" Enabled="False" /></dd>
</dl>
<dl>
<dt><label for="preContactTextBox">Contact:</label></dt>
<dd><asp:TextBox ID="preContactTextBox" runat="server" Enabled="False" /></dd>
</dl>
分析前?
业务守则:
联系人:
根本没有调用JavaScript函数
我做错了什么?将
OnCheckChanged=“enableField()
更改为onclick=“enableField();“
。您正在使用服务器控件。OnCheckChanged是asp.net复选框控件的事件。将OnCheckChanged=“enableField()
更改为onclick=“enableField();”
。您正在使用服务器控件。OnCheckChanged是asp.net复选框控件的事件。尝试改用onclick。使用以下代码将其注册到您的代码隐藏中:
CheckBox1.Attributes.Add("onclick", "enableField();");
顺便说一句,使用默认设置,您将无法访问asp.net web窗体应用程序中的元素。您需要获取将呈现的元素的clientId:
function enableField() {
prePracticeCodeTextBox = document.getElementById('<%=prePracticeCodeTextBox.ClientID%>');
preContactTextBox = document.getElementById('<%=preContactTextBox.ClientID%>');
checkTheBox = document.getElementById('<%=CheckBox1.ClientID%>');
if (checkTheBox.checked == true) {
prePracticeCodeTextBox.disabled = false;
preContactTextBox.disabled = false;
}
else {
prePracticeCodeTextBox.disabled = true;
preContactTextBox.disabled = true;
}
}
函数启用字段(){
prePracticeCodeTextBox=document.getElementById(“”);
preContactTextBox=document.getElementById(“”);
选中框=document.getElementById(“”);
if(checkTheBox.checked==true){
prePracticeCodeTextBox.disabled=false;
preContactTextBox.disabled=假;
}
否则{
prePracticeCodeTextBox.disabled=true;
preContactTextBox.disabled=真;
}
}
如果您正在.net 4上开发,请阅读以下文章:
尝试使用onclick代替。使用以下代码将其注册到您的代码隐藏中:
CheckBox1.Attributes.Add("onclick", "enableField();");
顺便说一句,使用默认设置,您将无法访问asp.net web窗体应用程序中的元素。您需要获取将呈现的元素的clientId:
function enableField() {
prePracticeCodeTextBox = document.getElementById('<%=prePracticeCodeTextBox.ClientID%>');
preContactTextBox = document.getElementById('<%=preContactTextBox.ClientID%>');
checkTheBox = document.getElementById('<%=CheckBox1.ClientID%>');
if (checkTheBox.checked == true) {
prePracticeCodeTextBox.disabled = false;
preContactTextBox.disabled = false;
}
else {
prePracticeCodeTextBox.disabled = true;
preContactTextBox.disabled = true;
}
}
函数启用字段(){
prePracticeCodeTextBox=document.getElementById(“”);
preContactTextBox=document.getElementById(“”);
选中框=document.getElementById(“”);
if(checkTheBox.checked==true){
prePracticeCodeTextBox.disabled=false;
preContactTextBox.disabled=假;
}
否则{
prePracticeCodeTextBox.disabled=true;
preContactTextBox.disabled=真;
}
}
如果您正在.net 4上开发,请阅读以下文章:
功能启用字段(){
prePracticeCodeTextBox=.getElementById(“”);
preContactTextBox=document.getElementById(“”);
选中框=document.getElementById(“”);
if(checkTheBox.checked==true){
prePracticeCodeTextBox.disabled=false;
preContactTextBox.disabled=假;
}
否则{
prePracticeCodeTextBox.disabled=true;
preContactTextBox.disabled=真;
}
}功能启用字段(){
prePracticeCodeTextBox=.getElementById(“”);
preContactTextBox=document.getElementById(“”);
选中框=document.getElementById(“”);
if(checkTheBox.checked==true){
prePracticeCodeTextBox.disabled=false;
preContactTextBox.disabled=假;
}
否则{
prePracticeCodeTextBox.disabled=true;
preContactTextBox.disabled=真;
}
}然后,这意味着您的应用程序已配置为生成干净的ID。但要记住这一点。如果您将代码放在ContentPlaceHolder中(使用母版页时),元素的ID肯定会更改。然后,这意味着您的应用程序被配置为生成干净的ID。但要记住这一点。如果将代码放在ContentPlaceHolder中(使用母版页时),元素的ID肯定会更改。