2

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 機能を使用して値を分離できます。どんな援助でも大歓迎です。

4

1 に答える 1