您现在的位置是:首页 > cms教程 > Ecshop商城教程Ecshop商城教程
通过AJAX方式动态更新ecshop购物车页面的商品数量的方法
张准辰2023-12-07Ecshop商城教程已有人查阅
导读每次用户进入ecshop购物流程的时候当需要更改购物车里的商品数量的时候必须要手动点击更新按钮
每次用户进入ecshop购物流程的时候当需要更改购物车里的商品数量的时候必须要手动点击更新按钮,这是非常糟糕的用户体验,我们有必要去改进这一点。
以下是通过AJAX方式来动态更新ECShop购物车页面商品数量的解决办法 一、前端页面部分(flow.dwt) 在商品数量的input框添加对应的js函数
以下是通过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的缓存刷新页面看看效果吧。
本文标签:
很赞哦! ()
相关教程
图文教程
ecshop商品浏览历史模板样式怎么修改
ECSHOP的浏览历史样式不是很好,想要修改,发现 history.lbi 中不能修改。需要修改的文件:includes\lib_insert.php,找
ecshop源码函数分析
tatic_caches缓存文件存放在ecshop/temp/static_caches下面先来看缓存工作的2个主要函数,写缓存和读缓存。该函数在ecshop/includes/lib_base.php
ecshop商城之transport与jquery冲突之处理方法
众所周知:ecshop的transport.js文件和Jquery是冲突的,两个文件不能同时调用,现给出以下解决方案:
PHP5.5怎么安装ecshop
建议用较旧的PHP版本与EcShop搭配,比如PHP5.3,新版的PHP有很多奇奇怪怪的问题。preg_replace用到的修饰符/e在php5.5已经被废弃
相关源码
-
(自适应响应式)html5文章资讯新闻博客pbootcms网站模板下载本模板基于PbootCMS系统开发,为新闻资讯、博客类网站设计,特别适合各类文章内容的发布与管理。采用响应式技术,确保在不同设备上都能获得良好的阅读体验。查看源码 -
(自适应响应式)瓷砖大理石装修建材类网站pbootcms模板html5模板本模板基于PbootCMS开发,针对瓷砖、大理石等建材行业特点进行优化设计。采用响应式布局技术,确保产品展示效果在不同设备上都能合理呈现。模板特别强化了石材纹理的视觉表现力,帮助建材企业更好地展示产品质感。查看源码 -
(自适应响应式)陶瓷研磨盘抛光机械设备pbootcms网站模板本模板基于PbootCMS系统开发,为研磨抛光设备制造企业设计,特别适合陶瓷研磨盘、抛光设备等表面处理设备展示。采用响应式布局技术,确保各类设备的参数和工艺在不同终端上都能清晰呈现。查看源码 -
手机软件APP游戏软件下载网站Pbootcms模板(自适应)基于PbootCMS内核深度开发的网站模板,为移动互联网时代打造。无论是手机APP推广、游戏软件展示,还是各类企业官网需求,本模板都能通过简单的图文替换实现行业无缝切换查看源码 -
(自适应)餐具英文外贸生活用品带下载功能网站模板免费下载为餐具及生活用品外贸企业打造的响应式网站模板,基于PbootCMS内核开发。突出产品展示与多语言支持特性,通过自适应设计确保更好客户在手机、平板、电脑等设备上获得一致浏览体验。查看源码 -
(自适应响应式)蓝色环保机械设备网站pbootcms模板HTML5源码下载基于PbootCMS的生态环境技术展示平台,通过内容调整可应用于新能源设备、污水处理、空气净化等环保相关领域。设备参数采用对比表格展示,技术原理支持图文混排;查看源码
| 分享笔记 (共有 篇笔记) |
