收藏文章 楼主
版块:AB模板网   类型:普通   作者:AB模板网   查看:8127   回复:0   获赞:0   时间:2021-10-15 12:08:57
每次用户进入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的缓存刷新页面看看效果吧。

网站模板:https://www.jxmseo.com/list-89-1.html

本文转载于网络,如有侵权请联系删除


全站外链: TEC传感器 | 猫掌外链
 
回复列表
默认   热门   正序   倒序

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

网站公告

近期本站被人为恶意注册及发布垃圾帖,每一个发帖都会经过审核,一经发现违法或垃圾帖的用户,帖子将被删除或封号,请大家共同维护互联网环境,共创美好互联网未来。

详细的发帖规则请阅读:

《小猪外链网发帖规则》

《小猪外链网最新金币规则》

注:本站严禁发布灰色违禁违法内容,如发现立刻永久封号,如开通会员的概不退款。

Powered by 小猪外链网 7.12.1

©2015 - 2024 小猪SEO外链平台

备案号:浙ICP备17015142号

免责申明:本网站内容由平台入驻会员撰写,除创始人账号外,其他观点仅代表作者本人,不代表小猪外链网立场。如果内容涉及侵犯其他公司、团体的利益、请联系小猪SEO外链网客服举证删除

您的IP:13.58.149.129,2024-05-18 22:03:43,Processed in 0.21581 second(s).

各位站长请准守小猪SEO外链网的发帖规则,文明理性发言

外链优化

用户名:

粉丝数:

签名:

资料 关注 好友 消息
分享
已有0次打赏