1

「Default.aspx」ページの下に、名、姓、アカウントのタイトル、タイトル(ラジオボタンリスト)、AccountNumber、AccountFormatのフィールドを取得したWebページ「Default.aspx」を作成しました。ラジオボタンリストもあり、その値は「はい」と「いいえ」です。「はい」を選択すると、次のフィールドの可視性が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;

            }

私がここで立ち往生しているので助けてください...

4

3 に答える 3

1

Visible=falseの場合;

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

Visible=trueの場合;

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仕様では、ページ上の1つの要素のみが特定の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 に答える