0

我有一个 AJAX 脚本,一旦执行就应该触发加载图像,然后在我从 Web 服务获得结果后将其隐藏,但是图像现在正在显示。

我的代码如下:

    <script type="text/javascript">
        function get_Code_Results() {
            document.getElementById("loader").innerHTML = "<img src=\'loading.gif\' />";
            var url = document.location;
            if (window.XMLHttpRequest) req = new XMLHttpRequest();
            else if (window.ActiveXObject) req = new ActiveXObject("Microsoft.XMLHTTP");
            req.onreadystatechange = processRequest;
    //      req.open("GET", url, true);
    //      req.send(null);
            req.open("POST",url,true);
            req.setRequestHeader("Content-type","application/x-www-form-urlencoded");
            req.send("isbns="+document.getElementById("Code").value);
            function processRequest() {
        if (req.readyState == 4 && document.getElementById("1").checked == true) {
            document.getElementById("results").value = "myfirsturl.com" + req.responseText;
        }
        else if (req.readyState == 4 && document.getElementById("2").checked == true) {
            document.getElementById("results").value = "myurl.com" + req.responseText;
        }           
    }
}
    </script>

我有一个位置,我希望显示加载器:

    <div id="loader"><img src="loading.gif" style="display:none;" /></div>

我的代码哪里有错误?一些建议将不胜感激!

4

2 回答 2

1
  <div id="loader"><img src="loading.gif" style="display:none;" /></div>

您需要更改style="display:none;". 我建议您改为编写以下代码:

<div id="loader" style="display:none;"><img src="loading.gif" /></div>

然后在需要时:

$('#loader').show(); // To show the laoding icon
$('#loader').hide(); // To hide it
于 2012-09-03T14:45:30.307 回答
1

您的函数是嵌套的。我猜你假装写这样的东西:

function get_ISBN_Results() {
            document.getElementById("loader").innerHTML = "<img src=\'loading.gif\' />";
            var url = document.location;
            if (window.XMLHttpRequest) req = new XMLHttpRequest();
            else if (window.ActiveXObject) req = new ActiveXObject("Microsoft.XMLHTTP");
            req.onreadystatechange = processRequest;
    //      req.open("GET", url, true);
    //      req.send(null);
            req.open("POST",url,true);
            req.setRequestHeader("Content-type","application/x-www-form-urlencoded");
            req.send("isbns="+document.getElementById("isbns").value);
}
function processRequest() {
        if (req.readyState == 4 && document.getElementById("book").checked == true) {
            document.getElementById("results").value = "myfirsturl.com" + req.responseText;
        }
        else if (req.readyState == 4 && document.getElementById("magazine").checked == true) {
            document.getElementById("results").value = "myurl.com" + req.responseText;
        }           
 }
于 2012-09-03T14:47:23.353 回答