文档章节

ajax更新购物车数量

adbug
 adbug
发布于 2015/06/17 09:27
字数 473
阅读 28
收藏 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

没有更多内容

加载失败,请刷新页面

加载更多

下一页

以太坊总结

一、概念说明 1.以太坊(Ethereum blockchain)由V神(Vitalik Buterin)发明,是一个交易记录的永久数据库,它以一个“无信任”的交易系统来运行,不需要任何第三方信任机构即可进行点对点的...

盼望明天
32分钟前
1
0
Java并发工具类——AtomicInteger

基本类型int的递增等操作并不是线程安全的,加上synchronized又会影响性能,因此在并发情况下我们应该使用AtomicInteger,下面通过一个例子验证一哈。 public class TestAtomicInteger {...

东都大狼狗
34分钟前
1
0
基于CentOS7.2系统对RabbitMQ单机版安装过程

准备虚拟机系统 我的系统如下 系统版本7.2 安装perl yum install perl 安装wget工具 yum install -y wget 安装相关依赖工具 yum install ncurses ncurses-base ncurses-devel ncurses-libs ...

凌晨一点
38分钟前
1
0
Maven常用命令

Maven常用命令 说到命令,则不得不提一下环境变量,在之前的博文中简单提了一下环境变量的配置,这里具体说一下。说完环境变量的配置,然后就是Maven的常用命令,这里说的是常用的几个命令,...

星汉
54分钟前
0
0
Flink操作mysql kafka和hbase

主程序 package com.streaming.flink;import java.util.Properties;import org.apache.flink.api.common.functions.FlatMapFunction;import org.apache.flink.api.common.functi......

守望者之父
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部