書きします。getElementById(somevar)働いていない
-
19-09-2019 - |
質問
いて以下のコードがgetElementById(セットid)なっ この漁獲量のidがアラート(セットid)です。
ずっと面白いアイデアないか?
function getdata(file, aID){
req = xmlHttpRequestHandler.createXmlHttpRequest();
req.onreadystatechange = Response;
req.open("GET", file, true);
req.send(null);
setID = aID;
}
function Response() {
var ready, status;
try {
ready = req.readyState;
status = req.status;
}
catch(e) {}
if (ready == 4 && status == 200) {
document.getElementById("data").innerHTML = req.responseText;
}
document.getElementById(setID).className = "someclass";
}
<div class="msg" id="someid">
<a href="javascript:getdata('data.php', 'someid')">somelink</a>
</div>
解決
のいずれかの使用は、グローバル変数としてSETIDまたはコールバック関数に渡します。
function getdata(file, aID)
{
req = xmlHttpRequestHandler.createXmlHttpRequest();
setID = aID;
req.onreadystatechange = function() {Response(setID);};
req.open("GET", file, true);
req.send(null);
}
function Response(setID)
他のヒント
の場合
document.getElementById("data")
動作しない、以下のいずれかの事由に99%の場合:
の要素が存在しないまたは存在しなくなっ
以上の要素のid
data
この多くの場合、AJAXコ紹介のHTMLコードも含まれる要素は同じIDです。
あなたのsetID
変数がグローバル作っていますか?その後、ない場合は、この方法を試してください。
var setID = null; // we set this here because it is referenced in functions
function getdata(file, aID){
req = xmlHttpRequestHandler.createXmlHttpRequest();
req.onreadystatechange = Response;
req.open("GET", file, true);
req.send(null);
setID = aID;
}
function Response() {
var ready, status;
try {
ready = req.readyState;
status = req.status;
}
catch(e) {}
if (ready == 4 && status == 200) {
document.getElementById("data").innerHTML = req.responseText;
}
document.getElementById(setID).className = "someclass";
}
所属していません StackOverflow