您现在的位置是:首页 > cms教程 > Ecshop商城教程Ecshop商城教程

通过AJAX方式动态更新ecshop购物车页面的商品数量的方法

张准辰2023-12-07Ecshop商城教程已有人查阅

导读每次用户进入ecshop购物流程的时候当需要更改购物车里的商品数量的时候必须要手动点击更新按钮

每次用户进入ecshop购物流程的时候当需要更改购物车里的商品数量的时候必须要手动点击更新按钮,这是非常糟糕的用户体验,我们有必要去改进这一点。
以下是通过AJAX方式来动态更新ECShop购物车页面商品数量的解决办法 一、前端页面部分(flow.dwt) 在商品数量的input框添加对应的js函数
<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”> 在文件最后添加一段js   <script type=”text/javascript”> function changePrice(number,rec_id) {   var attr = getSelectedAttributes(document.forms['ECS_FORMBUY']);   var qty = document.forms['ECS_FORMBUY'].elements['number'].value;      Ajax.call(‘flow.php’, ‘step=update_group_ cart&rec_id=’ + rec_id +’&number=’ + number, changePriceResponse, ‘GET’, ‘JSON’); } function changePriceResponse(res) {   if (res.error > 0)   {     document.getElementById(‘sysmsg_error’).innerHTML = res.content;     document.all.sysmsg_error.style.display=”;   }   else   {     if(document.all.sysmsg_error.style.display==”)   {    document.all.sysmsg_error.style.display=’none’;   }  document.getElementById(‘subtotal_’+res.rec_id).innerHTML = res.subtotal;  document.getElementById(‘cart_amount’).innerHTML = res.cart_amount;   } } </script>   二、在flow.php文件中插入对应的处理代码: elseif($_REQUEST['step'] == ‘update_group_cart’) { include_once(‘includes/cls_json.php’); $json = new JSON(); $result = array(‘error’ => ”, ‘content’ => ”); $rec_id = $_GET['rec_id']; $number = $_GET['number']; $group_buy = group_buy_info($_SESSION['extension_id'], $number); if(!is_numeric($number)) { $result['error'] = ’1′; $result['content'] =’请输入合法数量’; die($json->encode($result)); } if ($group_buy['restrict_amount'] > 0 && $number > ($group_buy['restrict_amount'] – $group_buy['valid_goods']))  { $result['error'] = ’1′; $restrict_amount =  $group_buy['restrict_amount'] – $group_buy['valid_goods']; $result['content'] =’您最多可买’.$restrict_amount.’件’; die($json->encode($result)); } $sql = “UPDATE ” . $GLOBALS['ecs']->table(‘cart’) . ” SET goods_number = ‘$number’ WHERE rec_id = $rec_id”; $GLOBALS['db']->query($sql); $subtotal = $GLOBALS['db']->getONE(“select goods_price * goods_number AS subtotal from “.$GLOBALS['ecs']->table(‘cart’).” where rec_id = $rec_id”); $cart_amount = cart_amount(”,$_SESSION['flow_type']); $result['subtotal'] = price_format($subtotal, false); $result['cart_amount'] = price_format($cart_amount, false); $result['rec_id'] = $rec_id; die($json->encode($result)); }   还等什么?马上清空echsop的缓存刷新页面看看效果吧。

本文标签:

很赞哦! ()

相关源码

  • (自适应)英文电子芯片电子元件网站pbootcms模板下载基于PbootCMS内核开发的电子元件类企业专用模板,采用响应式设计技术,适配电子元器件、集成电路、半导体等行业的品牌展示与技术文档发布需求。前端布局针对芯片参数表格与产品规格书展示进行深度优化。查看源码
  • 响应式HTML5家居建材办公家具桌椅pbootcms模板为家居建材、办公家具企业打造的响应式网站模板,同时支持多行业快速适配通过替换文字图片即可转型为其他行业官网,大幅降低开发成本。查看源码
  • (自适应)英文绿色精密模具零件加工五金零件pbootcms外贸网站模板本模板基于PbootCMS开发,为五金零件、精密模具加工等英文外贸企业设计。采用响应式布局,适配各类移动设备,是五金零件企业开展国际贸易的专业展示平台。查看源码
  • (PC+WAP)激光水幕音乐喷泉设备工程网站源码下载本模板基于PbootCMS系统开发,为喷泉设备工程类企业设计,特别适合展示音乐喷泉、激光水幕等水景艺术项目。采用响应式技术,确保各类工程案例在不同设备上都能呈现视觉效果。查看源码
  • 帝国CMS游戏应用APP推广下载站模板免费下载本模板为移动应用推广、手机游戏推广行业设计,集成H5游戏平台与APP下载功能,支持PC端与移动端自适应访问。专注于为应用开发商、游戏发行商提供专业的线上推广展示平台。查看源码
  • 帝国cms7.5淘宝客电商品牌特价带手机站带会员模板下载为电商品牌特价展示设计的帝国CMS模板,集成PC端与移动端双平台适配。采用瀑布流商品布局,支持品牌分类聚合展示,突出特价促销视觉冲击力。查看源码
分享笔记 (共有 篇笔记)
验证码:

本栏推荐