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)
、値は 1 つしか取得できません。
コンマ区切りの配列を作成し、それをクエリ文字列に渡す必要があると思います。そこから、PHP implode/explode 機能を使用して値を分離できます。どんな援助でも大歓迎です。