※ ChatGPTを利用し、要約された質問です(原文:Ajax Updaterでドラッグアンドドロップ)
Ajax Updaterでドラッグアンドドロップの実装がうまくいかない
このQ&Aのポイント
現在、PHP+Ajaxを使用して商品をドラッグアンドドロップで買い物かごに入れるプログラムを組んでいますが、実装がうまくいきません。
ドラッグアンドドロップの機能は問題なく実装されていますが、商品を買い物かごに入れる動作がうまくいかないようです。
index.phpのcartAdd関数が正しく動作していない可能性があります。
正確にはタイトルがおかしいのですが…
現在、商品をドラッグアンドドロップで買い物かごに入れ、
入れられた商品はカート上に表示されるというプログラムをPHP+Ajaxで組んでいます。しかし、ドラッグアンドドロップの機能を実装するところまではいいのですが、それを買い物かごに入れるという動作がうまくいきません。
以下にソースコードを掲載します。
<script type="text/javascript">Droppables.add('lwi_navi_2',
{accept:'items',onDrop:function(element){new Ajax.Updater("cart20to40",
"index.php",
{"method": "get",
"parameters": "action=cartAdd&
id= ' + encodeURIComponent(element.id) + '
},hoverclass:'nowHover'})</script>
index.phpは現在表示しているページです。(カレントファイル)
ParamatersのactionのcartAddで読みだされるのは
/*カートにドロップされたとき*/
function cartAdd(){
//関数内で使用する配列名を決定
$ArrayName = "cart" + 20 + "to" + 40;
//送られてきたドロップエレメンツの名前を区切り文字で配列に収納
$itemName = explode('_',$POST['id']);
//配列itemNoの数字部分をint型に変換し収納
$itemId = (int)$itemName(1);
//ArrayNameで定義された配列の商品IDと一致する行に1を足す
$_SESSION[$ArrayName][$itemId] ++;
//この配列を元にカート作成関数を実行
makeCartItem($startAge,$endAge);
var_dump($cart20to40);
return;
}
これを実行しても、ページには何の変化もありませんでした。
何か手掛かり及び根本的な考え方の間違えがあれば教えてください。
お礼
お礼・締切がとんでもなく遅くなってゴメンなさい。 参考になりました。