2

我有两个具有不同设置的不同侧面板,但想使用一个“登录”表单来访问,具体取决于我是单击链接 A 还是 B。因此,我需要使用任一链接的 onclick 属性中的原始字符串更改“登录”表单的 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>

您正在重新定义panelin 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 回答