0

DB を検索して結果を表示するための JavaScript コードがあります。結果の取得中に「お待ちください.. 」というメッセージを表示したい。3行目(最後から)にそれを書きました。

つまり、結果を取得しているときに、検索結果の div に「しばらくお待ちください... 」というメッセージを表示したいと考えています。しかし、それは何のメッセージも表示していません。

function ajaxFunction(e) {
    function r() {
        if (t.readyState == 4) {
            document.getElementById("search-results").innerHTML = t.responseText;
            document.getElementById("msg").style.display = "none"
        }
    }
    var t;
    try {
        t = new XMLHttpRequest
    } catch (n) {
        try {
            t = new ActiveXObject("Msxml2.XMLHTTP")
        } catch (n) {
            try {
                t = new ActiveXObject("Microsoft.XMLHTTP")
            } catch (n) {
                alert("Your browser does not support AJAX!");
                return false
            }
        }
    }
    var i = "search.php";
    i = i + "?name=" + e;
    i = i + "&sid=" + Math.random();
    t.onreadystatechange = r;
    t.open("GET", i, true);
    t.send(null);
    document.getElementById("msg").innerHTML = "Please Wait ...";
    document.getElementById("msg").style.display = "inline"
}

問題が解決しました

アップデート。

入力が10文字に達したときだけ、この仕事をしたいです。

HTML コード

<input type="text" name="name" maxlength="10" id="name" onkeyup="ajaxFunction(this.value);" />
4

2 に答える 2

1

あなたが試すことができるのは、ajax関数を呼び出す前にディスプレイを表示し、ajaxリクエストがすでに終了しているときに非表示にすることです

 //show the message
 document.getElementById("msg").style.display = "inline" 
 //call the ajax function
 ajaxFunction(e); 
于 2013-05-15T07:02:57.493 に答える