我使用以下ajax脚本将变量传递给PHP脚本:
<script>
function showUser(str)
{
if (str == "")
{
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", "/scripts/notes.php?s=2&q=" + str, true);
xmlhttp.send();
}
</script>
目前变量's'只是设置为2,但我想使用页面上select中的当前值动态设置它:
<select id='sessions'>
<option value='5'>5 sessions</option>
<option value='10'>10 sessions</option>
<option value='1000'>All sessions</option>
</select>
我尝试过使用:
var sessions= $("#sessions").val();
在设置URL之前的上述脚本中,然后将's = 2'更改为's = sessions',但是没有传递正确的值(我怀疑s被传递为空)。
我需要做些什么来改变它?
答案 0 :(得分:1)
将's = 2'更改为's = sessions'
将字符串设置为"/scripts/notes.php?s=session&q="
不会传递变量。试试"/scripts/notes.php?s=" + session + "&q="
。
function showUser(str)
{
var sessions= $("#sessions").val();
if (str == "")
{
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", "/scripts/notes.php?s="+sessions+"&q=" + str, true);
xmlhttp.send();
}