我试图通过 Ajax 将多选列表框中的值传递给 PHP。我在 Jquery 和 JSON 中看到了一些示例,但是我试图用普通的旧 javascript (Ajax) 来完成这个。这是我到目前为止的内容(简化):
阿贾克斯:
function chooseMultiEmps(str)
{
var mEmpList2 = document.getElementById('mEmpList'); //values from the multi listbox
for (var i = 0; i < mEmpList2.options.length; i++) //loop through the values
var mEmpList = mEmpList2.options[i].value; //create a variable to pass in string
if (window.XMLHttpRequest)
{
xmlhttp = new XMLHttpRequest();
}
else
{
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function()
{
if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
{
//specific selection text
document.getElementById('info').innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open("POST", "myPage.php", true);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
var queryString = "&mEmpList=" + mEmpList; //query string should have multiple values
xmlhttp.send(queryString);
}
我可以在单个消息框中运行alert(mEmpList)
并获取每个值,但是当我检索并回显 时$_POST['mEmpList']
,我只得到第一个值。此外,当 I 时alert(queryString)
,我只得到一个值。
我想我需要创建一个逗号分隔的数组,然后通过查询字符串传递它。从那里,我可以使用 PHP implode/explode 功能来分离这些值。任何帮助将不胜感激。