0

こんにちは、私はまだ ajax の初心者です。別の場所に 2 つのデータを表示したかったのです。

ここにコード

 <li onclick="showPost(this.value);" value="*digit*" >lala</li>

JavaScript

<script>
if (window.XMLHttpRequest)
        {// code for IE7+, Firefox, Chrome, Opera, Safari
            xmlhttp=new XMLHttpRequest();
        }
        else
        {// code for IE6, IE5
            xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
        }

        function showPost(hal)
        {
            xmlhttp.onreadystatechange=function()
            {
                if (xmlhttp.readyState==4 && xmlhttp.status==200)
                {
                    document.getElementById("gallekanan").innerHTML=xmlhttp.responseText;  
                }
            }       
            xmlhttp.open("GET","../wp-content/themes/koolfort/example.php?pal="+hal,true);
            xmlhttp.send();
            showJudul(hal);
        }

        function showJudul(hal)
        {
            xmlhttp.onreadystatechange=function()
            {
                if (xmlhttp.readyState==4 && xmlhttp.status==200)
                {
                    document.getElementById("eventjudul").innerHTML=xmlhttp.responseText;  
                }
            }       
            xmlhttp.open("GET","../wp-content/themes/koolfort/example1.php?pal="+hal,true);
            xmlhttp.send();
        }
</script>

コードを実行すると、showJudul が実行され、showPost が中止されます。

4

2 に答える 2

0

showJudul(hal); を移動します。document.getElementById("gallekanan").innerHTML=xmlhttp.responseText; の直後

于 2012-04-05T08:33:36.130 に答える
0

関数を別の関数内で呼び出すのではなく、各関数を個別に制御してみてください。つまり、次のようにします。

<li onclick="showPost(this.value); showJudul(this.value);" value="*digit*" >lala</li>

<script>

        function showPost(hal)
        {
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("gallekanan").innerHTML=xmlhttp.responseText;  
                }
            }       
            xmlhttp.open("GET","../wp-content/themes/koolfort/example.php?pal="+hal,true);
            xmlhttp.send();

        }

        function showJudul(hal)
        {
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("eventjudul").innerHTML=xmlhttp.responseText;  
                }
            }       
            xmlhttp.open("GET","../wp-content/themes/koolfort/example1.php?pal="+hal,true);
            xmlhttp.send();
        }
</script>

また、xmlhttp の初期化を試みる場所で try{}catch{} を使用してみてください。使用可能なオブジェクトがない場合、関数はエラーを返す可能性があります...

于 2012-04-05T08:49:07.917 に答える