2

私の注文テーブルには、顧客が提出したものが含まれています。新しい注文を追加するときに、ドロップダウンリストから顧客名を選択した後、同じページに顧客の情報(たとえば、顧客テーブルの住所、電話番号)を表示したいと思います。

実行する方法?前もって感謝します...

例や関連リンクを教えてください。AJAXについては何も知りません。どこから始めればよいのかわかりません。

たぶんこのリンク:http ://www.w3schools.com/ajax/ajax_database.asp 、しかしそれはcakephpではなくphpを使用しています...

例のコードは次のとおりです。xmlhttp.open( "GET"、 " getuser.php?q =" + str、true); customer_id(q = str)をorderscontroller/getuser関数に渡す方法がわかりません。ヘルプが必要です

4

2 に答える 2

2

JsHelperを使用して、前述したのと同じことを実現できます。親切にあなたの最後で試してみて、ピアがそれをするのを助けることができるようにいくつかの生のコードを提供してください。

于 2012-08-17T06:21:14.593 に答える
1

あなたのコードは次のようになります

function showCustomer(str)
{
 var xmlhttp;
 if (str=="")
 {
   document.getElementById("divtoDisplayInfo").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("divtoDisplayInfo").innerHTML=xmlhttp.responseText;
}
}
 xmlhttp.open("GET","/yoursite/controllername/action/str,true); //if you use redirect and windows environment
 xmlhttp.send();
}

そのアクションのビューを期待する必要があるため、通常のケーキ処理を行い、コントローラーでデータを取得し、ビューをレンダリングします。エラーが発生した場合は、アクションの autorender を false に設定します。

しかし、Jqueryをダウンロードして、cakephpフレームワークにこの単純な行を追加することをお勧めします

$("divToDisplayInfo's_ID").load("Controllername/action") 

あなたの問題を解決します。

于 2012-08-19T01:38:42.757 に答える