c# - 如何在 Webform 中使用 JavaScript 启用禁用字段

标签 c# javascript asp.net

我创建了一个网页“Default.aspx”,其中包含以下字段: 名字、姓氏、帐户标题、标题(单选按钮列表)、帐户编号和帐户格式 在“Default.aspx”页面下,我还使用了一个单选按钮列表,其值为"is"和“否”。如果我选​​择"is",则以下字段的可见性应设置为 false:

名字、姓氏

如果我选择“否”,则以下字段可见性应设置为 true:

帐户标题、帐号

为此,我在“Default.aspx”中编写了以下 Java 脚本代码

function EnableDisableTaxID() {
        if (document.getElementById("<%=rdOpeningSubAccount.ClientID %>") != null) {

            var openSubAccountList = document.getElementById('<%= rdOpeningSubAccount.ClientID  %>');
            var fbo1RadioList = document.getElementById('<%=fbo1RadioButtonList.ClientID %>').value;
            var isOpenSubAccount;

            if (openSubAccountList != null) {

                var openSubAccount = openSubAccountList.getElementsByTagName("input");

                for (var i = 0; i < openSubAccount.length; i++) {

                    if (openSubAccount[i].checked) {

                        isOpenSubAccount = openSubAccount[i].value;
                        alert("Print" + isOpenSubAccount);
                    }
                }
            }
            alert(typeof(isOpenSubAccount));
            if (isOpenSubAccount == 'true') {
                FirstName.visible = true;
                LastName.visible = false;
                AccountTitling.visible = true;
                lblFirstName.visible=false;
                lblLastName.visible=false;

            }
            else if (isOpenSubAccount == 'false') {
                AccountTitling.visible = true;
                AccountNumber.visible = false;
                lblAccountTitling.visible = true;
                lblAccountNumber.visible = false;
            }
        }
    }

但是,我从单选按钮列表中获取所需的值,但是,当我去检查单选按钮列表的选定值是否为 true 时,上面的代码不起作用。我不知道我错过了什么。我知道直接使用下面的代码是行不通的:

if (isOpenSubAccount == 'true') {
                FirstName.visible = true;
                LastName.visible = false;
                AccountTitling.visible = true;
                lblFirstName.visible=false;
                lblLastName.visible=false;

            }

请帮忙,因为我被困在这里......

最佳答案

对于可见= false;

document.getElementById('FirstName').style.visibility="hidden";

对于可见= true;

document.getElementById('FirstName').style.visibility="visible";

启用:

document.getElementById('FirstName').disabled = false;

要禁用:

document.getElementById('FirstName').disabled = true;

关于c# - 如何在 Webform 中使用 JavaScript 启用禁用字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12708116/

相关文章:

asp.net - 为 Entity Framework 编写集成测试

jquery - 为什么我无法从文件上传进度栏获取异步行为?

javascript - 从 JavaScript 动态访问 ASP.NET 控件

c# - 反序列化集合时未调用 Setter

javascript - 使用 Javascript 和 Jquery 将字符串转换为整数

c# - 如何在项目中使用 C# 类库?

javascript - 为什么 jQuery.each 无法检索到正确的高度值?

javascript - JQuery Mobile 和 link_to

c# - 使用 linq to entities c# 的 gridview_sorting 事件

c# - 将 arraylist 值插入数据库