0

ユーザーがラジオ ボタンをチェックする必要があるページがあります。新しいユーザーの場合、別のページにリダイレクトされます。

彼が既存のユーザーで、このボタンをチェックすると、2 つのボックスが表示さusernameれます。password

何らかの理由で、このスクリプトは chrome では機能しません。

ご協力ありがとうございました

<script>
    function dispLoing(val)
    {
        var obj = document.getElementById ? 
                     document.getElementById("loginForm").style :
                     document.all ?
                         document.all.loginForm :
                         document.loginForm;

        if (val == "new")
        {
            document.all.login(0).checked = true;
            obj.display = "none";
        }

        if (val == "existing")
        {
            document.all.login(1).checked = true;
            obj.display = "";
        }
    }
</script>

<td>
    <span id = "loginForm" style = "position: relative; top: 0px; left: 0px;
                                    z-index:80; display:none;">
        <table border=0>
            <tr>
                <td>
                    <font style = "font-size: 14px">Username:</font>
                </td>
                <td>
                    <input type = "text" name = "username" 
                          style = "width: 100px; height:17px; font-size: 12px;">
                </td>
            </tr>
            <tr>
                <td>
                    <font style = "font-size: 14px">Password:</font>
                </td>
                <td>
                    <input type = "password" name = "pass"
                          style = "width: 100px; height: 17px; font-size: 12px;">
                </td>
            </tr>
        </table>
    </span>
4

1 に答える 1

3

document.allIE 4 をサポートする必要がある場合にのみ役立ちます。最近では、document.getElementByIdサポートされていると想定しても安全です。

を割り当てるときはobj、使用する前に存在するかどうかをテストします。

あなたの2つのifステートメントでは、盲目的に使用しています。これにより、スクリプトは行に到達する前に終了しますobj.display

function dispLoing(val) {
    var frm = document.getElementById("loginForm");
    var radios = frm.elements.login;
    if (val === "new") {
        radios[0].checked = true;
        frm.style.display = "none";
    } else if (val === "existing") {
        radios[1].checked = true;
        frm.style.display = "";
    }
}
于 2012-10-17T13:34:39.117 に答える