复选框通过 vb.net 激活 asp.net 文本框
Checkbox activates textboxes in asp.net with vb.net
我正在使用 vb.net asp.net 创建一个页面,并且我有一个复选框,我想用它来激活四个文本框和一个下拉列表。 我尝试使用JavaScript来使其工作,但到目前为止它不起作用。 此时我已尝试仅激活一个文本框。 有什么建议吗?
以下是我的不同对象:
- cb从业者(复选框)
- txtNPI(文本框)
- txt许可证(文本框)
- txtDEA(文本框)
- txtUpin (文本框)
- ddSpecialty (下拉列表)
以下是Javascript代码:
<script type="text/javascript">
function ToggleTextBox(cbPractitioner, txtNPI) {
var textbox = document.getElementById(txtNPI);
if (cbPractitioner.checked) {
txtNPI.disabled = false;
txtNPI.value = "";
}
else {
txtNPI.disabled = true;
txtNPI.value = "";
}
}
</script>
这是 asp.net 代码:
<asp:CheckBox ID="cbPractitioner" runat="server"
text="This person is a Practitioner"
style="font-family: Arial, Helvetica, sans-serif; font-size: small"
onclick="ToggleTextBox(this,'txtNPI')" />
<asp:Label ID="lblNPI" runat="server" CssClass="style9" Text="NPI:"></asp:Label>
<asp:TextBox ID="txtNPI" runat="server" Width="165px" style="text align:left" CssClass="style9"
Font-Names="Arial" Font-Size="Small" Enabled="false"></asp:TextBox>
<br />
<br />
<asp:Label ID="lblDEA" runat="server" CssClass="style9" Text="DEA Number:"> </asp:Label>
<asp:TextBox ID="txtDEA" runat="server" style="text-align:left" Font-Names="Arial"
Font-Size="Small" Enabled="false"></asp:TextBox>
<br />
<br />
<span class="style9">
</span>
</td>
<td class="style14" valign="top">
<asp:Label ID="lblLicense" runat="server" CssClass="style9"
Text="License Number:"></asp:Label>
<asp:TextBox ID="txtLicense" runat="server" Font-Names="Arial" style="text-align:left"
Font-Size="Small" Height="20px" Enabled="false"></asp:TextBox>
<br />
<br />
<span class="style9">
<asp:Label ID="Upin" runat="server" Text="Upin:"></asp:Label>
</span>
<asp:TextBox ID="txtUpin" runat="server" Width="173px" CssClass="style9" style="text-align:left"
Font-Names="Arial" Font-Size="Small" Enabled="false"></asp:TextBox>
</td>
</tr>
<tr>
<td colspan="2">
<asp:Label ID="lblSpecialty" runat="server"
style="font-family: Arial, Helvetica, sans-serif; font-size: small"
Text="Specialty:"></asp:Label>
<asp:DropDownList ID="ddSpecialty" runat="server"
DataSourceID="Practitioner_Specialty" DataTextField="SPEC_TITLE"
DataValueField="SPEC_TITLE" Enabled="false">
</asp:DropDownList>
问题是 ASP.net 文本框和其他控件实际上有两个 ID:服务器端 ID 和客户端 ID。
服务器端 ID 是您在标记中指定的带有 ID='foo' RunAt='server'
的 ID。 在所有服务器端 .net 代码中使用此 ID。
对于客户端代码,必须使用客户端 ID。 客户端 ID 是从服务器端 ID 生成的,并向其添加了一些字符以确保它是唯一的。 为了在Javascript中获取客户端ID,请编写如下内容:
var cbPractitionerId = '<%=cbPractitioner.ClientID %>';
您将 id 传递给名为"txtNPI"的函数,但您像使用对象一样使用它。 我已经更改了代码以使用对象"文本框",并添加了"removeAttribute"以删除文本框的禁用状态。
<script type="text/javascript">
function ToggleTextBox(cbPractitioner, txtNPI) {
var textbox = document.getElementById(txtNPI);
if (cbPractitioner.checked) {
textbox.removeAttribute('disabled');
textbox.value = "";
}
else {
textbox.removeAttribute('disabled');
textbox.value = "";
}
}
</script>
此外,如果要将 ASP.NET 动态 ID 插入到 JavaScript 中,则应使用语法 <%= Control.ControlID %>,这将插入动态生成的控件名称。
相关文章:
- 借助asp.net验证或java脚本对多个文本进行验证
- 将Javascript数组发送到控制器ASP.NET MVC
- ASP.NET通过单击JavaScript按钮触发c#事件
- 文本框不是从Javascript/Asp.net中的对话框中打印出来的
- 从javascript调用asp.net codebehind函数
- 使用javascript的Asp.net内容占位符
- 获取ASP.NET Ajax Timer状态
- ASP.NET网络摄像头显示
- 如何在只能有一个asp.net表单的主页上从asp.net页面中的javascript中获取值
- 如何将乳胶配方奶粉图像保存到Asp.net中的文件夹中
- asp.net,包括iss上的javascript slow
- 选择不在GridView-ASP.NET中激发
- 什么'是在asp.net MVC中将本地化的resources.resx文件转换为javascript文件的有效
- 使用ASP.NET将谷歌地图添加到项目中,并从数据库中检索位置
- 有什么“;错误的”;将javascript放在asp.net表单上,而不是放在单独的文件中
- 将Javascript日期转换为ASP.NET日期格式
- C#asp.net mvc Set CheckBoxFor已检查的具有Model Value的属性
- 如何使用javascript vb.net asp.net关闭web表单
- 在Ext.net (ASP.NET)中上传完成事件
- 以编程方式滚动/移动到.net asp:listview控件中的一个项目