2KB项目,专业的源码交易网站 帮助 收藏 每日签到

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

  • 时间:2019-01-31 02:15 编辑:2KB 来源:2KB.COM 阅读:302
  • 扫一扫,手机访问
  • 分享
摘要: 每次用户进入ecshop购物流程的时候当需要更改购物车里的商品数量的时候必须要手动点击更新按钮,这是非常糟糕的用户体验,我们有必要去改进这一点。 以下是通过AJAX方式来动态更新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[&#39;ECS_FORMBUY&#39;]);   var qty = document.forms[&#39;ECS_FORMBUY&#39;].elements[&#39;number&#39;].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[&#39;step&#39;] == ‘update_group_cart’) { include_once(‘includes/cls_json.php’); $json = new JSON(); $result = array(‘error’ => ”, ‘content’ => ”); $rec_id = $_GET[&#39;rec_id&#39;]; $number = $_GET[&#39;number&#39;]; $group_buy = group_buy_info($_SESSION[&#39;extension_id&#39;], $number); if(!is_numeric($number)) { $result[&#39;error&#39;] = ’1′; $result[&#39;content&#39;] =’请输入合法数量’; die($json->encode($result)); } if ($group_buy[&#39;restrict_amount&#39;] > 0 && $number > ($group_buy[&#39;restrict_amount&#39;] – $group_buy[&#39;valid_goods&#39;]))  { $result[&#39;error&#39;] = ’1′; $restrict_amount =  $group_buy[&#39;restrict_amount&#39;] – $group_buy[&#39;valid_goods&#39;]; $result[&#39;content&#39;] =’您最多可买’.$restrict_amount.’件’; die($json->encode($result)); } $sql = “UPDATE ” . $GLOBALS[&#39;ecs&#39;]->table(‘cart’) . ” SET goods_number = ‘$number’ WHERE rec_id = $rec_id”; $GLOBALS[&#39;db&#39;]->query($sql); $subtotal = $GLOBALS[&#39;db&#39;]->getONE(“select goods_price * goods_number AS subtotal from “.$GLOBALS[&#39;ecs&#39;]->table(‘cart’).” where rec_id = $rec_id”); $cart_amount = cart_amount(”,$_SESSION[&#39;flow_type&#39;]); $result[&#39;subtotal&#39;] = price_format($subtotal, false); $result[&#39;cart_amount&#39;] = price_format($cart_amount, false); $result[&#39;rec_id&#39;] = $rec_id; die($json->encode($result)); }   还等什么?马上清空echsop的缓存刷新页面看看效果吧。


2KB项目(www.2kb.com,源码交易平台),提供担保交易、源码交易、虚拟商品、在家创业、在线创业、任务交易、网站设计、软件设计、网络兼职、站长交易、域名交易、链接买卖、网站交易、广告买卖、站长培训、建站美工等服务

  • 全部评论(0)
资讯详情页最新发布上方横幅
最新发布的资讯信息
【计算机/互联网|】Nginx出现502错误(2020-01-20 21:02)
【计算机/互联网|】网站运营全智能软手V0.1版发布(2020-01-20 12:16)
【计算机/互联网|】淘宝这是怎么了?(2020-01-19 19:15)
【行业动态|】谷歌关闭小米智能摄像头,因为窃听器显示了陌生人家中的照片(2020-01-15 09:42)
【行业动态|】据报道谷歌新闻终止了数字杂志,退还主动订阅(2020-01-15 09:39)
【行业动态|】康佳将OLED电视带到美国与LG和索尼竞争(2020-01-15 09:38)
【行业动态|】2020年最佳AV接收机(2020-01-15 09:35)
【行业动态|】2020年最佳流媒体设备:Roku,Apple TV,Firebar,Chromecast等(2020-01-15 09:31)
【行业动态|】CES 2020预览:更多的流媒体服务和订阅即将到来(2020-01-08 21:41)
【行业动态|】从埃隆·马斯克到杰夫·贝佐斯,这30位人物定义了2010年代(2020-01-01 15:14)
联系我们

Q Q: 7090832

电话:400-0011-990

邮箱:7090832@qq.com

时间:9:00-23:00

联系客服
商家入住 服务咨询 投拆建议 联系客服
0577-67068160
手机版

扫一扫进手机版
返回顶部