ajax更新购物车数量

前端之家收集整理的这篇文章主要介绍了ajax更新购物车数量前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
把我最近写的一个代码贴出来 可以参考 但不一定适用。


一、首先我把这个输入框的代码贴出来

  1. <INPUT class="input-text f-input"onblur="changePrice(document.getElementById('goods_number_{$goods.rec_id}').value,{$goods.rec_id})" name="goods_number[{$goods.rec_id}]" id="goods_number_{$goods.rec_id}" value="{$goods.goods_number}"id="ECS_FORMBUY">

复制代码

二、次 页面加入的javascript 也就是changeprice函数

  1. <script>
  2. /**
  3. * 点选可选属性或改变数量修改商品价格函数
  4. */
  5. function changePrice(number,rec_id)
  6. {
  7. //v//ar attr = getSelectedAttributes(document.forms['ECS_FORMBUY']);
  8. // var qty = document.forms['ECS_FORMBUY'].elements['number'].value;

  9. Ajax.call('flow.PHP','step=update_group_cart&rec_id=' + rec_id +'&number=' + number,changePriceResponse,'GET','JSON');
  10. }
  11. /**
  12. * 接收返回的信息
  13. */
  14. function changePriceResponse(res)
  15. {
  16. if (res.error > 0)
  17. {
  18. document.getElementById('sysmsg_error').innerHTML = res.content;
  19. document.all.sysmsg_error.style.display='';
  20. }
  21. else
  22. {
  23. if(document.all.sysmsg_error.style.display=='')
  24. {
  25. document.all.sysmsg_error.style.display='none';
  26. }
  27. document.getElementById('subtotal_'+res.rec_id).innerHTML = res.subtotal;//商品总价
  28. document.getElementById('cart_amount').innerHTML = res.cart_amount;//购物车团购商品价

  29. }
  30. }
  31. </script>
  32. <script>
  33. /**
  34. * 点选可选属性或改变数量修改商品价格的函数
  35. */
  36. function changePrice(number,'JSON');
  37. }
  38. /**
  39. * 接收返回的信息
  40. */
  41. function changePriceResponse(res)
  42. {
  43. if (res.error > 0)
  44. {
  45. document.getElementById('sysmsg_error').innerHTML = res.content;
  46. document.all.sysmsg_error.style.display='';
  47. }
  48. else
  49. {
  50. if(document.all.sysmsg_error.style.display=='')
  51. {
  52. document.all.sysmsg_error.style.display='none';
  53. }
  54. document.getElementById('subtotal_'+res.rec_id).innerHTML = res.subtotal;//商品总价
  55. document.getElementById('cart_amount').innerHTML = res.cart_amount;//购物车团购商品价

  56. }
  57. }
  58. </script>
复制代码


然后我把请求的PHP处理 程序也贴出来


  1. elseif($_REQUEST['step'] == 'update_group_cart')
  2. {
  3. /*------------------------------------------------------ */
  4. //-- 西安PHP服务中心团购更新购物车
  5. /*------------------------------------------------------ */
  6. include_once('includes/cls_json.PHP');
  7. $json = new JSON();
  8. $result = array('error' => '','content' => '');
  9. $rec_id = $_GET['rec_id'];
  10. $number = $_GET['number'];

  11. /*取的团购信息*/
  12. $group_buy = group_buy_info($_SESSION['extension_id'],$number);

  13. /*判断输入是否合法*/
  14. if(!is_numeric($number))
  15. {
  16. $result['error'] = '1';
  17. $result['content'] ='请输入合法数量';
  18. die($json->encode($result));

  19. }
  20. if ($group_buy['restrict_amount'] > 0 && $number > ($group_buy['restrict_amount'] - $group_buy['valid_goods']))
  21. {
  22. $result['error'] = '1';
  23. $restrict_amount =$group_buy['restrict_amount'] - $group_buy['valid_goods'];
  24. $result['content'] ='您最多可买'.$restrict_amount.'件';
  25. die($json->encode($result));
  26. }
  27. $sql = "UPDATE " . $GLOBALS['ecs']->table('cart') . " SET goods_number = '$number' WHERE rec_id = $rec_id";
  28. $GLOBALS['db']->query($sql);
  29. /*计算此订单总价*/
  30. $subtotal = $GLOBALS['db']->getONE("select goods_price * goods_number AS subtotal from ".$GLOBALS['ecs']->table('cart')." where rec_id = $rec_id");
  31. /*购物车团购商品总金额*/
  32. $cart_amount = cart_amount('',$_SESSION['flow_type']);
  33. $result['subtotal'] = price_format($subtotal,false);
  34. $result['cart_amount'] = price_format($cart_amount,false);
  35. $result['rec_id'] = $rec_id;
  36. die($json->encode($result));
  37. }
复制代码
原文链接:https://www.f2er.com/ajax/165754.html

猜你在找的Ajax相关文章