我有两个不同的侧面板,设置不同,但我想使用一个“登录”表单来访问其中一个,具体取决于我点击的是链接 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();
};
最佳答案
您需要在您的onclick
事件中传入一个字符串,作为面板的id
<a href="#" id="leftOpen" onclick="openLogin('leftPanel')"></a>
您正在 openLogin
中重新定义 panel
,从而覆盖您传入的任何内容
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");
关于javascript - 通过多次传递正确传递内联 onclick 字符串的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19946580/