百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>Ecshop教程> 通过AJAX方式动态更新ecshop购物车页面的商品数量
分享文章到:

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

发布时间:12/03 来源: 浏览: 关键词:

每次用户进入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的缓存刷新页面看看效果吧。
打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

相关文章

共有24人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板