好的,我知道以前有人问过这个问题(因为我自己也看过),它似乎适用于除我之外的其他所有人。我对 javascript 非常陌生,因为我尽量不使用它,因为它是调试的噩梦。但是,这是我的问题。我有一个脚本,我正在为 ajax 将图像添加到画廊。该图像只是一个引用数据库中另一个表的 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();
}
好的,所以上面的不起作用。我添加了警报消息以尝试尽可能多地进行故障排除。如果我将警报框放在 var 上方,并且只要求它引用 img 变量,它就可以工作。现在,如果我把它放在下面并尝试做我在那里做的事情,它就会停止。没有消息框,没有 ajax,什么都没有。所以,我打赌它与
var gal = e.options(e.selectedIndex).value;
我也用 [] 而不是 () 尝试过它,也没有任何东西......任何帮助将不胜感激。
更新 好的,所以我已经解决了选择问题,现在我尝试使用 xhtmlrequest.open 方法传递值。我似乎可以通过 1 获取价值,但不能通过 2。这是有问题的代码行
xmlhttp.open("GET","addtogallery.php?image="+img+"&gid="+gal,true);
现在,我知道 img 和 gal 已设置,因为每当运行此脚本时都会弹出一个警告框,告诉我它们已设置。但是当它到达 php 页面时,它只会输出 img 变量,而 gal 变量仍然没有设置。以前有人有这个问题吗?