ECSHOP系统ajax更新购物车数量
2015-11-29 22:12
411 查看
ECSHOP系统ajax更新购物车数量
|浏览:1852
|
更新:2013-07-26 09:37
ajax更新购物车数量
方法/步骤
先打开flow.dwt,找到
<!-- {if $goods.goods_id gt 0 && $goods.is_gift eq 0 && $goods.parent_id eq 0} 普通商品可修改数量 -->,把下面的input框里面的替换成
<a href="javascript:;" onclick="red_num({$goods.rec_id},{$goods.goods_id});"> - </a><input type="text" name="goods_number[{$goods.rec_id}]" id="goods_number_{$goods.rec_id}" value="{$goods.goods_number}" size="4" class="inputBg" style="text-align:center
" onblur="change_price({$goods.rec_id},{$goods.goods_id})"/><a href="javascript:;" onclick='add_num({$goods.rec_id},{$goods.goods_id})' >+</a>
然后在下一个</td>后加一段js代码
<script type="text/javascript" charset="utf-8">
function add_num(rec_id,goods_id)
{
document.getElementById("goods_number_"+rec_id+"").value++;
var number = document.getElementById("goods_number_"+rec_id+"").value;
Ajax.call('flow.php', 'step=update_group_cart&rec_id=' + rec_id +'&number=' + number+'&goods_id=' + goods_id, changePriceResp**e, 'GET', 'JSON');
}
function red_num(rec_id,goods_id)
{
if (document.getElementById("goods_number_"+rec_id+"").value>1)
{
document.getElementById("goods_number_"+rec_id+"").value--;
}
var number = document.getElementById("goods_number_"+rec_id+"").value;
Ajax.call('flow.php', 'step=update_group_cart&rec_id=' + rec_id +'&number=' + number+'&goods_id=' + goods_id, changePriceResp**e, 'GET', 'JSON');
}
function change_price(rec_id,goods_id){
var number = document.getElementById("goods_number_"+rec_id+"").value;
//alert(number);
Ajax.call('flow.php','step=update_group_cart&rec_id=' + rec_id +'&number=' + number+'&goods_id=' + goods_id, changePriceResp**e, 'GET', 'JSON');
}
function changePriceResp**e(result)
{
if(result.error == 1)
{
alert(result.content);
document.getElementById("goods_number_"+result.rec_id+"").value =result.number;
}
else
{
document.getElementById('subtotal_'+result.rec_id).innerHTML = result.subtotal;//商品总价
document.getElementById('cart_amount_desc').innerHTML = result.cart_amount_desc;//购物车商品总价说明
document.getElementById('market_amount_desc').innerHTML = result.market_amount_desc;//购物车商品总市价说明
}
}
</script>
接着把下一行的
<td align="right" bgcolor="#ffffff" >{$goods.subtotal}</td>
替换为
<td align="right" bgcolor="#ffffff" id="subtotal_{$goods.rec_id}">{$goods.subtotal}</td>
找到{$shopping_money}和{$market_price_desc},分别替换为
<span id="cart_amount_desc">{$shopping_money}</span>
和
<span id="market_amount_desc">{$market_price_desc}</span>
//二次开发,ajax更新购物车
elseif($_REQUEST['step']=='update_group_cart')
{
include_once('includes/cls_json.php');
$result = array('error' => 0, 'message' => '', 'content' => '', 'goods_id' => '');
$json = new JSON;
$rec_id = $_GET['rec_id'];
$number = $_GET['number'];
$goods_id = $_GET['goods_id'];
$result['rec_id'] = $rec_id;
if ($GLOBALS['_CFG']['use_storage'] == 1)
{
$goods_number = $GLOBALS['db']->getOne("select goods_number from ".$GLOBALS['ecs']->table('goods')." where goods_id='$goods_id'");
if($number>$goods_number)
{
$result['error'] = '1';
$result['content'] ='对不起,您选择的数量超出库存您最多可购买'.$goods_number."件";
$result['number']=$goods_number;
die($json->encode($result));
}
}
$sql = "UPDATE " . $GLOBALS['ecs']->table('cart') . " SET goods_number = '$number' WHERE rec_id = $rec_id";
$GLOBALS['db']->query($sql);
/* 取得商品列表,计算合计 */
$cart_goods = get_cart_goods();
$subtotal = $GLOBALS['db']->getONE("select goods_price * goods_number AS subtotal from ".$GLOBALS['ecs']->table('cart')." where rec_id = $rec_id");
$result['subtotal'] = price_format($subtotal, false);
$result['cart_amount_desc'] = sprintf($_LANG['shopping_money'], $cart_goods['total']['goods_price']);
$result['market_amount_desc'] = sprintf($_LANG['than_market_price'], $cart_goods['total']['market_price'], $cart_goods['total']['saving'], $cart_goods['total']['save_rate']
);
die($json->encode($result));
}
相关文章推荐
- Ubuntu 下安装 LAMP及phpmyadmin 适用于Backtrack、Kali linux
- hadoop配置文件详解、安装及相关操作
- Linux学习之Exam系统发布
- ECSHOP添加购物车加图片飞入效果
- Linux操作系统入门--线程管理
- ecshop增加点击购买直接进入购物车
- Nginx和lvs在负载均衡方面的对比
- centos下添加root权限用户
- linux使用Xmanager连接CentOS 5.5
- linux-文件系统管理02-分区以及格式化
- iOS系统架构
- nginx php-fpm 输出php错误日志
- popupwindow,拍照,相册,裁剪,压缩,保存sd卡,imageloader圆形加载到本地
- Looper
- 【openjudge】踩方格
- 记录-关于网站的欢迎页,初次进入可见欢迎页,再次进入就直接显示主页了
- OpenCV高斯模型
- OpenJudge_P2985 数的组合(DP)
- 各大网站CSS代码初始化集合
- [OpenCV] GpuMat and Mat, compare cvtColor perforemence