文档章节

ajax更新购物车数量

adbug
 adbug
发布于 2015/06/17 09:27
字数 473
阅读 35
收藏 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
成都
私信 提问
Nancy简单实战之NancyMusicStore(四):实现购物车

原文:Nancy简单实战之NancyMusicStore(四):实现购物车 前言 上一篇,我们完成了商品的详情和商品的管理,这一篇我们来完成最后的一个购物车功能。 购物车,不外乎这几个功能:添加商品到购物...

杰克.陈
05/21
0
0
JAVAEE——宜立方商城12:购物车实现、订单确认页面展示

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

kent鹏
08/06
0
0
20、【购物车模块】——更新、删除、查询购物车功能开发

更新购物车,即修改购物车中的每个商品的参数, 1、接口编写: 1、更新购物车: : : : 方法: : : 2、删除商品: : : : 方法: : : 其中上面的是我们封装的一个返回购物车列表信息的接口,,...

十里枯木
10/12
0
0
Web关于Jq的ajax异步返回的数据处理问题

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

任志强来晚了
2017/05/13
235
2
eweapp 功能更新,ECShop 微信小程序商城购物车

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

tumobi
2017/08/28
1K
1

没有更多内容

加载失败,请刷新页面

加载更多

oh-my-zsh 自定义

GitHub 地址 基于 oh-my-zsh 的自定义配置,增加了一些个人常用插件与皮肤。 采用的是 git submodule 来维护,包括 oh-my-zsh,之所以这么搞,主要是手头有多台 linux 需要维护, 每台机器、...

郁也风
今天
5
0
Docker安装踩坑:E_FAIL 0x80004005的解决

参考 菜鸟教程--Windows Docker 安装 http://www.runoob.com/docker/windows-docker-install.html 官方文档-Install Docker Toolbox on Windows https://docs.docker.com/toolbox/toolbox_in......

karma123
今天
5
0
js垃圾回收机制和引起内存泄漏的操作

JS的垃圾回收机制了解吗? Js具有自动垃圾回收机制。垃圾收集器会按照固定的时间间隔周期性的执行。 JS中最常见的垃圾回收方式是标记清除。 工作原理:是当变量进入环境时,将这个变量标记为“...

Jack088
昨天
17
0
大数据教程(10.1)倒排索引建立

前面博主介绍了sql中join功能的大数据实现,本节将继续为小伙伴们分享倒排索引的建立。 一、需求 在很多项目中,我们需要对我们的文档建立索引(如:论坛帖子);我们需要记录某个词在各个文...

em_aaron
昨天
27
0
"errcode": 41001, "errmsg": "access_token missing hint: [w.ILza05728877!]"

Postman获取微信小程序码的时候报错, errcode: 41001, errmsg: access_token missing hint 查看小程序开发api指南,原来access_token是直接当作parameter的(写在url之后),scene参数一定要...

两广总督bogang
昨天
33
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部