1

我创建了一个网页“Default.aspx”,其中我在“Default.aspx”页面下使用了以下字段:名字、姓氏、帐户标题、标题(单选按钮列表)、AccountNumber 和 AccountFormat,我使用了单选按钮列表也是,其值为 Yes 和 No。如果我选​​择 Yes,则以下字段的可见性应设置为 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;
            }
        }
    }

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

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

            }

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

4

3 回答 3

1

对于可见 = 假;

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

对于可见=真;

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

启用:

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

要禁用:

document.getElementById('FirstName').disabled = true;
于 2012-10-03T12:09:24.687 回答
0

不; document.getElementById 只会获取具有您指定 ID 的元素(HTML 规范非常明确,页面上只有一个元素可以具有特定 ID)。

每个单选按钮都有不同的 ID 属性,但是如果您查看页面的 HTML 源代码,您会看到列表中的所有单选按钮都具有相同的 NAME 属性。这就是您应该使用的“单选按钮的名称”。

onclick="GetRadioButtonValue('<%= radiobuttonlist1.ClientID %>')"

function GetRadioButtonValue(id)

        {

            var radio = document.getElementsByName(id);

            for (var j = 0; j < radio.length; j++)

            {

                if (radio[j].checked)

                    alert(radio[j].value);

            }

        }
于 2012-10-03T12:11:54.050 回答
0

以下可以为

不可见

document.getElementById('id-name').style.display='none';

可见的

document.getElementById('id-name').style.display='block';

禁用

document.getElementById('id-name').setAttribute('disabled', 'disabled');

使能够

document.getElementById('id-name').removeAttribute('disabled');
于 2012-10-03T12:14:11.100 回答