文档章节

ajax更新购物车数量

adbug
 adbug
发布于 2015/06/17 09:27
字数 473
阅读 31
收藏 0
把我最近写的一个代码贴出来   可以参考 但不一定适用。

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

  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.   
  10.    Ajax.call('flow.php', 'step=update_group_cart&rec_id=' + rec_id +'&number=' + number, changePriceResponse, 'GET', 'JSON');
  11. }
  12. /**
  13. * 接收返回的信息
  14. */
  15. function changePriceResponse(res)
  16. {
  17.   if (res.error > 0)
  18.   {
  19.     document.getElementById('sysmsg_error').innerHTML = res.content;
  20.     document.all.sysmsg_error.style.display='';
  21.   }
  22.   else
  23.   {
  24.     if(document.all.sysmsg_error.style.display=='')
  25.   {
  26.    document.all.sysmsg_error.style.display='none';
  27.   }
  28.   document.getElementById('subtotal_'+res.rec_id).innerHTML = res.subtotal;//商品总价
  29.   document.getElementById('cart_amount').innerHTML = res.cart_amount;//购物车团购商品价
  30.   
  31.   }
  32. }
  33. </script>
  34. <script>
  35. /**
  36. * 点选可选属性或改变数量时修改商品价格的函数
  37. */
  38. function changePrice(number,rec_id)
  39. {
  40.   //v//ar attr = getSelectedAttributes(document.forms['ECS_FORMBUY']);
  41. // var qty = document.forms['ECS_FORMBUY'].elements['number'].value;
  42.   
  43.    Ajax.call('flow.php', 'step=update_group_cart&rec_id=' + rec_id +'&number=' + number, changePriceResponse, 'GET', 'JSON');
  44. }
  45. /**
  46. * 接收返回的信息
  47. */
  48. function changePriceResponse(res)
  49. {
  50.   if (res.error > 0)
  51.   {
  52.     document.getElementById('sysmsg_error').innerHTML = res.content;
  53.     document.all.sysmsg_error.style.display='';
  54.   }
  55.   else
  56.   {
  57.     if(document.all.sysmsg_error.style.display=='')
  58.   {
  59.    document.all.sysmsg_error.style.display='none';
  60.   }
  61.   document.getElementById('subtotal_'+res.rec_id).innerHTML = res.subtotal;//商品总价
  62.   document.getElementById('cart_amount').innerHTML = res.cart_amount;//购物车团购商品价
  63.   
  64.   }
  65. }
  66. </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.   /*取的团购信息*/
  13.     $group_buy = group_buy_info($_SESSION['extension_id'], $number);

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

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

本文转载自:http://blog.csdn.net/fgdfgasd/article/details/12356281

共有 人打赏支持
adbug
粉丝 6
博文 176
码字总数 198249
作品 0
成都
私信 提问
JAVAEE——宜立方商城12:购物车实现、订单确认页面展示

1. 学习计划 第十二天: 1、购物车实现 2、订单确认页面展示 2. 购物车的实现 2.1. 功能分析 1、购物车是一个独立的表现层工程。 2、添加购物车不要求登录。可以指定购买商品的数量。 3、展示...

kent鹏
08/06
0
0
eweapp 功能更新,ECShop 微信小程序商城购物车

eweapp ECShop非官方版微信小程序商城,基于 3.6 版本appserver接口,100% 兼容原有程序,没有对原有程序代码进行过任何改动。 2017-8-28 更新购物车页面 购物车页面数据显示 购物车商品删除...

tumobi
2017/08/28
1K
1
Web关于Jq的ajax异步返回的数据处理问题

请问大神,红色标记的变量goodsObjArr,如果前面加上var, 点击button,报错(for循环里)如下: ,也就是button绑定的点击事件。如果把var去掉,则一切正常()。如果把async设成false,还是报错...

任志强来晚了
2017/05/13
155
2
走进Vue时代进阶篇(01):重构电商购物车模块

前言 从这篇文章开始,我准备给大家分享一些关于Vue.js这门框架的技巧性系列文章,正好我们公司项目中也用到了Vue。所以,教是最好的学。进阶篇比较适合于二三线城市,还在小厂打拼的童鞋们。...

闰土大叔
01/08
0
0
了解ASP.NET MVC几种ActionResult的本质:JavaScriptResult & JsonResult

在之前的两篇文章(《EmptyResult & ContentResult》和《FileResult》)我们剖析了EmptyResult、ContentResult和FileResult这三种ActionResult是如何将Action执行的结果响应给客户端的。本篇...

长平狐
2012/09/04
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

w, vmstat, top, sar, nload命令查看系统状态信息

w/uptime 查看系统负载 cat /proc/cpuinfo 查看cpu核数 vmstat 监控系统状态,用法 vmstat 1,关键的几列: r, b, swpd, si, so, bi, bo, us, wa top 查看进程使用资源情况 top -c 显示详细的...

野雪球
今天
1
0
小白创建一个spring boot项目

进入 https://start.spring.io/

lilugirl
今天
2
0
Alibaba Java诊断利器Arthas实践--使用redefine排查应用奇怪的日志来源

背景 随着应用越来越复杂,依赖越来越多,日志系统越来越混乱,有时会出现一些奇怪的日志,比如: [] [] [] No credential found 那么怎样排查这些奇怪的日志从哪里打印出来的呢?因为搞不清...

hengyunabc
今天
2
0
home hosts

home hosts lwk@qwfys:~$ cat /etc/hosts127.0.0.1 localhost127.0.1.1 qwfys192.168.56.101vm600.qwfys.com39.108.212.91alpha1.ppy.com39.108.117.122alpha2.p......

qwfys
今天
3
0
大数据教程(6.1)hadoop生态圈介绍及就业前景

1. HADOOP背景介绍 1.1、什么是HADOOP 1.HADOOP是apache旗下的一套开源软件平台 2.HADOOP提供的功能:利用服务器集群,根据用户的自定义业务逻辑,对海量数据进行分布式处理 3.HADOOP的核心组...

em_aaron
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部