-1

こんにちは、私は Web 開発の初心者です。PHPでajaxの戻り値にアクセスする方法を知りたいです。ドロップダウンからオプションを選択すると、ajax を使用して別のドロップダウンが表示されます。しかし、phpを使用してページの値を使用したいと思います。

      Practice Name : 
    <select name="practiceName" id="practiceName" onchange="showAssociate(this.value)">
    <option value="">Select an option</option>
 <option value="abc">abc</option>
 <option value="xyz">xyz</option>


    </select>
<p>

<div id="associate">
</div>

ajax コードは次のとおりです。

    function showAssociate(str)
{
if (str=="")
{
document.getElementById("associate").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("associate").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","getAssociate.php?q="+str,true);
xmlhttp.send();
}

ajax は目的のドロップ ボックスと値を div 'associate' に返していますが、フォームを送信するときにこれらの値を php で使用するにはどうすればよいですか? 画面のどこかにアクセスしてエコーするだけです。助けてください。前もって感謝します。

4

1 に答える 1

0

ajax 経由で取得したデータをフォームと一緒に送信する場合は、非表示の入力を設定して、データがフォーム送信で転送されるようにすることができます。

<input type="hidden" id="data" name="data" value="" />

Javascript で、その値を入力します。

document.getElementById("associate").innerHTML=xmlhttp.responseText;
document.getElementById("data").value = xmlhttp.responseText;

フォーム送信を処理するときの PHP 側では、$_POST['data'](フォームのメソッドが であると仮定してPOST) に存在します。

于 2013-01-08T17:40:17.490 に答える