2

設定の異なる 2 つのサイドパネルがありますが、リンク A または B のどちらをクリックしたかに応じて、1 つの「ログイン」フォームを使用してアクセスしたいと考えています。 「ログイン」フォームのonclick属性を変更して、その文字列を使用する関数に渡すことができます。

私は確かに初心者ですが、素早い学習者です。ここで何かが欠けていて、それを理解できず、間違った方向に進んでいる可能性さえあるので、もしそうなら、私をまっすぐにしてください! :)

リンク A
<a href="#" id="leftOpen" onclick="openLogin(leftPanel)"></a>

リンクB
<a href="#" id="rightOpen" onclick="openLogin(rightPanel)"></a>

ログインリンク
<a href="#" id="loginBtn" onclick="openPanel()"></a>

リンク A をクリックすると、最初の関数の後にログイン リンクが表示されます。
<a href="#" id="loginBtn" onclick="openPanel(leftPanel)"></a>


機能

function openLogin(panel){
    var panel;
    $("#login").css("z-index", "1000");
    $("#login").addClass("show");
    document.getElementByID("#loginBtn").setAttribute("onclick","openPanel(\" . panel . \")");
    };

function openPanel(open){
    var open;
    if (window.XMLHttpRequest) {
        xmlhttp=new XMLHttpRequest();
    }
    else {
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }

    xmlhttp.onreadystatechange=function() {
        if (xmlhttp.readyState==4 && xmlhttp.status==200) {
            result=xmlhttp.responseText;
                if (result == 0) {
                    $("#login").css("z-index", "-1");
                    $("#login").removeClass("show");
                    $("#" . open).addClass("openSettings");  // Got to be something wrong here!
                    document.getElementById("pwd").value='';
                }
                else {
                    alert("The password entered is incorrect.")
                    document.getElementById("pwd").value='';
                }
        }
    }
    var url="../somewhere/mychk.php?pwd="+document.getElementById("pwd").value;
    xmlhttp.open("GET",url,true);
    xmlhttp.send();
};
4

1 に答える 1

1

パネルのonclickために、イベントで文字列を渡す必要がありますid

<a href="#" id="leftOpen" onclick="openLogin('leftPanel')"></a>

で再定義panelしているopenLoginため、渡したものはすべて上書きされます

function openLogin(panel){

    // remove this line
    // var panel;

    $("#login").css("z-index", "1000");
    $("#login").addClass("show");
    document.getElementByID("#loginBtn").setAttribute("onclick", "openPanel('" + panel + "')");
};

パネルが何であるかに応じてid、正しい連結演算子を使用すると、次のように動作するはずです

$("#" + open).addClass("openSettings");
于 2013-11-13T06:27:06.923 に答える