1

新しい Web サイト デザインにログイン フォームがあり、ユーザー名とパスワードの入力、サイトのどの部分 (コントロール パネル) にログインするかを選択するためのドロップダウン選択、および送信ボタンがあります。パネルごとに外部ページからログインする必要があるため、これらに合わせて Javascript 関数を作成しました。残念ながら、うまくいかないようで、問題がどこにあるのかわかりません。

<script type="text/javascript">
function changeAction(s)
{
    var loginform = document.getElementById("frmLogin");
    panel_option = parseInt(s.options[s.options.selectedIndex].value);

    switch (login_option)
    {
        case 0:
            loginform.action = "https://www.domain.com/clients/dologin.php?goto=clientarea";
            loginform.username.name = "username";
            loginform.password.name = "password";
            break;
        case 1:
            loginform.action = "http://my.domain.com/templates/default/login.aspx";
            loginform.username.name = "UserName";
            loginform.password.name = "Password";
            break;
        case 2:
            loginform.action = "http://voicepanel.domain.com";
            loginform.username.name = "email";
            loginform.password.name = "password";
            break;
        default:
            loginform.action = "https://www.domain.com/clients/dologin.php?goto=clientarea";
            loginform.username.name = "username";
            loginform.password.name = "password";
            break;
    }
}

function loginSubmit()
{
    var user = document.getElementsByName("username");
    var pass = document.getElementsByName("password");

    if(!user[0].value)
    {
        return;
    }

    if(!pass[0].value)
    {
        return;
    }

    document.getElementById("frmLogin").frmLogin.submit();
}
</script>

</head>
<body>
<div id="wrap">
<!--Start Header-->
<div id="header">
<a href="index.php" id="logo"><span class="text_in">XFS</span></a>

<!--User Login-->
<div id="header_right">
    <h2><span class="text_in">User Login</span></h2>

    <form method="POST" name="frmLogin" id="frmLogin" onSubmit="javascript:loginSubmit();">
        <input class="binput" name="username" style="margin-left: 40px;" value="Username">
        <input class="binput" name="password" type="password" value="Password">
            <select class="binput" style="margin-left: 40px; width: 130px;" onchange="javascript:changeAction(this);">
                <option value="0">Billing Panel</option>
                <option value="1">Game Panel</option>
                <option value="2">Ventrilo Panel</option>
            </select>
        <input type="submit" class="blogin" value="Login" id="ButtonLogin">
    </form>
4

2 に答える 2

0

サイトにはさまざまなログイン方法があります。たとえば、VBulletin はユーザーのパスワードをハッシュします。他のいくつかは、多くの非表示のテキスト フィールドを使用しています。そのため、データを送信する場合は、すべてのデータが存在することを確認する必要があります!
それを行う方法の 1 つは、複数のフォームを作成し、見たいユーザーを 1 つだけ表示することです。

于 2011-08-10T10:29:51.633 に答える
0

ばかげた間違いです。Java スクリプトの switch ステートメントが存在しない変数にありました。

于 2011-08-10T11:23:04.397 に答える