次のコードを使用して、別のスクリプトを呼び出しています。
function savecoupon<?php echo $r['id']; ?>() {
var listingid = document.savecouponform<?php echo $r['id']; ?>.listingid.value;
http.open('get', 'script/save_coupon.php?listingid='+listingid+'');
http.onreadystatechange = handleResponse;
http.send(null);
}
function handleResponse() {
if(http.readyState == 4){
response = http.responseText;
alert(response);
document.getElementById(response).innerHTML = "Saved";
}
}
適切な結果が表示されています。alert(response)
これは、置き換えている div の要素 ID です。しかし、何らかの理由で、応答を getElementById に入れると、firebug で次のエラーが発生します。
TypeError: document.getElementById(...) is null
document.getElementById(response).innerHTML = "Saved";
innerHTML コマンドをdocument.getElementById("savecouponarea1327").innerHTML = "Saved";
すべてのものに置き換えると、想定どおりに機能します。getElementById で応答が読み取られないのはなぜですか?