我是一个菜鸟,我正在努力让这个脚本工作。它在除 IE 之外的所有浏览器中都能完美运行。我已经在 stackoverflow 上尝试了大多数解决方案,但它们都不适合我。我在某个我无法发现的地方犯了一些幼稚的错误。会请求你的帮助。
也只是为了让您知道使用 appendchild 的 DOM 对象格式对我来说可能无法 100% 正确工作,因为该脚本基本上从下拉列表中传递值,该下拉列表显示从 1 到 10 的数字,并根据这些数字拉出相应的图表。因此,如果我正在查看图表 1,那么我可以继续并选择下拉菜单以查看图表 3。但是如果我们使用 appendchild 属性,它只允许我通过选择 1 到 10 来查看其中一个图表,除非我刷新页面,否则它不起作用。因此,除非使用 deletechild,否则我认为它不会起作用,只是我的猜测。因此,我已将该部分注释掉,并且我使用的是旧的 innerhtml 方法。
这是我的 JS 函数。
function showUser(str) {
debugger;
var xmlhttp = GetXmlHttpObject("Browser does not support HTTP Request");
if (str=="") {
document.getElementById("pairname").innerHTML="";
return;
}
/* <-- I HAVE ALREADY COMMENTED THIS OUT & am using a more robust function for this.
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
*/
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("pairname").innerHTML=xmlhttp.responseText;
//AS YOU CAN SEE THE ALTERNATIVE SOLUTION OF USING DOM OBJECTS HAS BEEN COMMENTED OUT.. SINCE THIS IS ALSO NOT WORKING IN IE FOR ME.
//var wrappingElement = document.createElement("div");
//wrappingElement.innerHTML = xmlhttp.responseText;
//document.getElementById('pairname').appendChild(wrappingElement);
}
}
xmlhttp.open("GET","getimgdetails.php?q="+str,true);
xmlhttp.send();
}
function GetXmlHttpObject(errorMessage) {
var r = false;
try { r = new XMLHttpRequest(); }// Opera 8.0+, Firefox, Safari
catch(e) {
// Internet Explorer Browsers
try { r = new ActiveXObject("Msxml2.XMLHTTP"); }// older IE
catch(e) {
try { r = new ActiveXObject("Microsoft.XMLHTTP"); }// IE 5+
catch(e) {// AJAX not possible
if(errorMessage) { alert(errorMessage); }
}
}
}
return r;
}
这就是我展示它的地方
<div id="pairname"><b>Charts will be shown here.</b></div>*
这是接收和发回信息的脚本。所以基本上它为每个数字 1 到 10 显示 5 个图表。
$q=$_GET["q"];
Echo "<img src=mqluploads/".$q."15.gif?".time()."></img>";
Echo "<br>";
Echo "---------------------------------------------------------";
Echo "<br>";
Echo "<img src=mqluploads/".$q."60.gif?".time()."></img>";
Echo "<br>";
Echo "---------------------------------------------------------";
Echo "<br>";
Echo "<img src=mqluploads/".$q."240.gif?".time()."></img>";
Echo "<br>";
Echo "---------------------------------------------------------";
Echo "<br>";
Echo "<img src=mqluploads/".$q."1440.gif?".time()."></img>";
Echo "<br>";
Echo "---------------------------------------------------------";
Echo "<br>";
Echo "<img src=mqluploads/".$q."10080.gif?".time()."></img>";
Echo "<br>";
Echo "---------------------------------------------------------";
Echo "<br>";
Echo "<img src=mqluploads/".$q."43200.gif?".time()."></img>";
Echo "<br>";
Echo "---------------------------------------------------------";
Echo "<br>";
?>
非常感谢您的帮助和到目前为止的阅读。过去一周我一直在为此苦苦挣扎,现在终于决定寻求帮助。期待您的建议。