所以我有这个javascript代码:
var HttpClient = function() {
this.post = function(aUrl, param, aCallback) {
var http = new XMLHttpRequest();
var url = aUrl;
var params = param;
http.open("POST", url, true);
http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
http.onreadystatechange = function () {
if (http.readyState === 4 && http.status === 200) {
aCallback(JSON.parse(http.responseText));
}
};
http.send(params);
}
};
function setmain(node) {
if (node.getAttribute("disabled") !== "disabled") {
var clientset = new HttpClient();
clientset.post("<?= $domain ?>include/admin/setmain.php", "id=" + node.getAttribute("pid") + "&token=<?= $_SESSION["Token"] ?>", function (response) {
if (response[0] === "216") {
node.innerHTML = "ez a fő kép";
node.setAttribute("id", "unsetmain");
node.setAttribute("disabled", "disabled");
var unsetnode= document.getElementById("unsetmain");
unsetnode.setAttribute("id", "setmain");
unsetnode.removeAttribute("disabled");
unsetnode.innerHTML = "legyen fő kép";
}
});
}
}
var setelements=document.getElementsByName("setmain");
for (var j=0;j<setelements.length;j++){
setelements[j].addEventListener("click", function () {
setmain(this);
}, false);
}
,例如这个HTML:
<button type="button" name="setmain" pid ="100" id="setmain" > legyen fő kép </button> </br>
<button type="button" name="setmain" pid ="101" id="unsetmain" > ez a fő kép </button> </br>
<button type="button" name="setmain" pid ="102" id="setmain" > legyen fő kép </button> </br>
<button type="button" name="setmain" pid ="103" id="setmain" > legyen fő kép </button> </br>
setattribute和内部html函数仅适用于ID为&#34; unsetmain&#34;的按钮下方的按钮。 onlciklinstener函数调用正在处理HTTP post发送但是按钮位于&#34; unsetmain&#34;什么都不改变。控制台中没有错误。