1

我正在使用以下 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 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 被传递为空)。

我需要更改什么才能使其正常工作?

4

1 回答 1

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();
}
于 2013-05-26T11:02:40.217 回答