わかりました、これは以前に尋ねられたことを知っています(私はそれを自分で見たので)、私を除く他のすべての人にうまくいくようです. 私はそれを使用しないようにしているので、デバッグするのは悪夢です。しかし、ここに私の問題があります。ギャラリーに画像を追加するために ajax で作業しているスクリプトがあります。画像は、データベース内の別のテーブルを参照する単なる ID であり、ギャラリーでも同じです。たった二つのID。とにかく、リンクをクリックすると、このスクリプトを実行してデータベースに追加するようにします。しかし、それは機能していません。もちろん、JavaScript は失敗した場所を知らせるのが苦手です。スクリプトのコードは次のとおりです。
function addToGallery(img)
{
var e = document.getElementById("galleries2");
var gal = e.options(e.selectedIndex).value;
window.alert("Gallery Id: "+gal+" Image Id: "+img);
if (img=="")
{
document.getElementById("txtHint").innerHTML="";
return;
}
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("txtHint").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","addtogallery.php?img="+img+"gal="+gal,true);
xmlhttp.send();
}
わかりましたので、上記は機能しません。アラート メッセージを追加して、できる限りトラブルシューティングを試みました。変数の上にアラート ボックスを配置し、img 変数を参照するように要求するだけで機能します。今、それを下に置いて、そこで行ったことを実行しようとすると、停止します。メッセージボックスもajaxも何もありません。だから、私はそれが何かと関係があるに違いない
var gal = e.options(e.selectedIndex).value;
私も () の代わりに [] を使って試してみましたが、そこにも何もありません...助けていただければ幸いです。
更新 わかりましたので、select の問題を解決しました。今度は、xhtmlrequest.open メソッドで値を渡そうとしています。1 つの get 値を渡すことはできますが、2 つを渡すことはできません。これが問題のコード行です
xmlhttp.open("GET","addtogallery.php?image="+img+"&gid="+gal,true);
これで、img と gal が設定されていることがわかりました。これは、このスクリプトが実行されるたびに警告ボックスが表示され、それらが設定されていることが通知されるからです。しかし、php ページに到達すると、img 変数のみが出力され、gal 変数はまだ設定されていません。以前にこの問題を抱えている人はいますか?