购物车程序中如何实现修改商品数量和从购物车中删除该商品?

BOB_JACK 2009-07-27 09:18:42
在购物车程序中, 我利用集合list存储每一个购买商品的实体对象product(其中包括商品名称、商品数量、单价,总价),然后在显示购物车程序(list.jsp)中遍历该集合,显示在表格中,并且每条所购买的商品记录后边都有“删除”和“修改”两个超链接,且每条购买的商品的记录中都有一个单元格,该单元格中有一个文本框,用来修改购买相应商品的数量,当点击“修改”超链接时,显示购物车程序中文本框中显示修改后的数量,如果点击“删除”超链接,则从显示购物车程序中删除相应的商品清单。问“删除”和“修改”两个超链接如何实现?显示购物车程序list.jsp是否需要表单(<form></form>)?最好提供关键代码?
...全文
2599 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
shadow55 2009-07-27
  • 打赏
  • 举报
回复
用map多好,查找购物车中的商品多方便。
liujiali0822 2009-07-27
  • 打赏
  • 举报
回复
路过了
liujiali0822 2009-07-27
  • 打赏
  • 举报
回复
XUE XI LE
yuha521 2009-07-27
  • 打赏
  • 举报
回复
要的是无刷新还是什么啊! 。。。

我有写了个类似案例! 需要我给你!

如果不是无刷新的话!

你先删除!然后再查询一次数据!。再转到你的页面!

如果放在session里面的! 你就删除那条数据,然后在session remove那跳数据! 再转到页面去

感觉说多了没有用!



xujiaruix 2009-07-27
  • 打赏
  • 举报
回复
修改商品数量直接用Ajax了,删除是用超链接实现(使用?来传递id)
xujiaruix 2009-07-27
  • 打赏
  • 举报
回复
<%@ page language="java" pageEncoding="gbk"%>
<%@taglib prefix="html" uri="/WEB-INF/struts-html.tld"%>
<%@taglib prefix="logic" uri="/WEB-INF/struts-logic.tld" %>
<html>
<script language="javascript">
var XMLHttpReq = false;
//创建XMLHttpRequest对象
function createXMLHttpRequest() {
if(window.XMLHttpRequest) { //Mozilla 浏览器
XMLHttpReq = new XMLHttpRequest();
}
else if (window.ActiveXObject) { // IE浏览器
try {
XMLHttpReq = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
XMLHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
}
//发送请求函数
function sendRequest(url) {
createXMLHttpRequest();
XMLHttpReq.open("GET", url, true); //指定请求发送的url
XMLHttpReq.onreadystatechange = processResponse;//指定响应函数
XMLHttpReq.send(null); // 发送请求
}
// 处理返回信息函数
function processResponse() {
if (XMLHttpReq.readyState == 4) { // 判断对象状态
//alert(XMLHttpReq.status);
if (XMLHttpReq.status == 200) { // 信息已经成功返回,开始处理信息
var res=XMLHttpReq.responseText;
//window.alert(res)
//document.getElementById("mes").innerHTML=res;
if(res!=(""))
alert(res);
} else { //页面不正常
window.alert("必须输入数字");
}
}
}
// 身份验证函数
function userCheck(m,n,id) {
//
//var number = document.getElementById("number");
if(m=="0") {
alert("商品数量不能为空");
document.getElementById("nubmer" + n).focus;
//return false;
}else {
alert("您要购买该商品的数量为"+m);
sendRequest('updateShoppingCarItemNumber.do?id='+ id + "&number=" + m);
}
}
</script>
<head>
<title>布罗克购物系统--我的购物车</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link href="inc/css.css" rel="stylesheet" type="text/css">
</head>
<body leftmargin="3" topmargin="5" marginwidth="0" marginheight="0">
<table width=96% border=0 align=center cellpadding=2 cellspacing=2><tr><td width=60% ></td><td width=40% valign=baseline> <div align=right></div></td></tr></table>
<table width=96% border=0 align=center cellpadding=1 cellspacing=1 bgcolor=#FFCC00>
<tr>
<td width=35% bgcolor=#FFEEAC><div align=center><font color=#666666>商品名称</font></div></td>
<td width=14% bgcolor=#FFEEAC><div align=center><font color=#666666>市场价</font></div></td>
<td width=14% bgcolor=#FFEEAC><div align=center><font color=#666666>会员价</font></div></td>
<td width=14% bgcolor=#FFEEAC><div align=center><font color=#666666>VIP 价:<font color="#FF9999">更优惠!</font></font></div></td>
<td width=2% bgcolor=#FFEEAC><div align=center><font color=#666666>数量</font></div></td>
<td width=8% bgcolor=#FFEEAC><div align=center><font color=#666666>删除</font></div></td></tr>


<logic:iterate name="set" id="shoppingCarItem" indexId="ii">
<tr>
<td bgcolor=#FFF9DF STYLE='PADDING-LEFT: 5px' width=35%>
<div align=left><a href=list.asp?id=33 target=_blank>${shoppingCarItem.name}</a></div></td>
<td bgcolor=#FFF9DF><div align=center width=14%>${shoppingCarItem.price}</div></td>
<td bgcolor=#FFF9DF><div align=center><font color=#dd6600>${shoppingCarItem.price*0.9 }</font></div></td>
<td bgcolor=#FFF9DF><div align=center><font color=#FF3300>${shoppingCarItem.price*0.8 }</font></div></td>
<td bgcolor=#FFF9DF><div align=center><input id="number${ii }" name=bookid type="text" size=3 value="${shoppingCarItem.number}" onblur="userCheck(this.value,'${ii}','${shoppingCarItem.id }')"></div><font color="red"><html:errors property="number"/><span id="mes"></span></font></td>
<td bgcolor=#FFF9DF><div align=center><a href="deleteShoppingCarItem.do?id='${shoppingCarItem.id}'"><img src=images/trash.gif width=15 height=17 border=0></a></div></td></tr>

</logic:iterate>

<tr>
<td height=36 colspan=6 bgcolor=#FFF5D0>
<div align=center>
<p>
<input name="sum" type="image" src="images/cart04.gif" width="100" height="43" border="0" onFocus="this.blur()"
onClick="window.location.href='settleAccount.do'"/>
<input name="button" type="image" src="images/cart01.gif" width="100" height="43" border="0" onclick="javascript:window.close();">

<img src="images/cart02.gif" type="image" width="100" height="43" border="0" onFocus="this.blur()" onClick="window.location.href='clearShoppingCar.do'">
<br>购物车将在<span id="counter">60</span>秒后自动关闭
</div>
</td></tr></table>
<script language="Javascript">
function closeinfo(){window.close();}
setTimeout("closeinfo()", 60000 );
var counter = document.getElementById("counter");
count();
function count(){
counter.innerHTML=parseInt(counter.innerHTML)-1;
setTimeout("count();",1000);
}
</script>
</body>
</html>
微信小程序Demo-购物车是一款专为微信小程序开发者打造的购物车功能示例项目。该项目包含了完整的购物车功能实现,包括商品的添加、删除修改数量以及结算等功能。同时,该项目还提供了丰富的界面设计和用户体验优化,使得购物车的使用更加便捷和友好。 该项目的源代码基于微信小程序原生框架开发,兼容性强,易于扩展和定制。开发者可以根据自己的需求,对项目的代码进行修改和优化,以实现自己的购物车主页。此外,该项目还提供了一些常用的工具函数和接口封装,方便开发者进行二次开发和集成。 通过使用该项目,开发者可以快速掌握微信小程序购物车功能的实现原理和技巧,提高开发效率和质量。同时,该项目也可以作为开发者学习和实践微信小程序开发的良好素材,帮助开发者提升自身的技术水平和竞争力。 总之,微信小程序Demo-购物车是一款功能完善、易于扩展和定制的购物车功能示例项目。无论是初学者还是有一定经验的开发者,都可以从受益良多。如果您正在寻找一款高质量的微信小程序购物车功能示例项目,那么该项目绝对是您的不二之选。 请注意,由于微信的隐私政策,您可能需要将敏感信息(如微信支付密钥)替换为您自己的。此外,为了确保项目的正常运行,您还需要在微信公众平台上注册一个小程序账号,并将项目部署到您的服务器上。
购物车模块使用说明书 配置源程序 附加数据库SQL Server 2000 (1)将DataBase文件夹的两个文件拷贝到SQL Server 2000安装路径下的Data文件夹。 (2)打开SQL Server 2000的“企业管理器”,然后展开本地服务器,在“数据库”数据项上单击鼠标右键,在弹出的快捷菜单选择“所有任务”/“附加数据库”菜单项。 (3)将弹出“附加数据库”对话框,在该对话框单击“ ”按钮,选择所要附加数据库的.mdf文件,单击“确定”按钮,即可完成数据库的附加操作。 将程序发布到Tomcat下 (1)将01文件夹拷贝到Tomcat安装路径下的webapps文件夹。 (2)将jsf-api.jar、jsf-impl、jstl-1.2.jar以及SQL Server 2000数据库驱动包(mssqlserver.jar、msutil.jar、msbase.jar)拷贝到Tomcat安装路径下的webapps\01\WEB-INF\lib文件夹。 (3)选择开始菜单的“所有程序\Apache Tomcat 6.0\Monitor Tomcat”命令,这时在windows的系统托盘会显示标识Tomcat服务器启动状态的图标,如果显示为 ,则说明Tomcat服务器没有启动,这时可以在该图标上单击鼠标右键在弹出的快捷菜单选择“Start Service”菜单项启动Tomcat服务器,启动后将显示为 。 (4)打开IE浏览器,在地址栏输入http://localhost:8080/,进入“Tomcat软件管理”页面。 注意:8080为安装Tomcat时设置的端口号 。 (5)单击Tomcat Manager超链接,弹出“连接到 localhost”对话框。 (6)在用户名及密码处输入登录Tomcat的用户名和密码,单击【确定】按钮。 (7)进入“Tomcat应用程序管理”页面,在此页面单击“01”,进入本程序主页面,完成Tomcat配置。 使用说明 运行程序,打开程序主页面,如图1.1所示。单击“查看详细信息”超链接,进入商品详细信息页面,如图1.2所示,在这里单击“放入购物车”按钮,将商品添加到购物车,弹出如图1.3所示的提示信息。 图1.1 主页的运行效果图 图1.2 商品详细信息页面 图1.3 将商品添加到购物车 在首页单击“查看购物车”超链接,进入购物车页面,如图1.4所示。在这里可以查看当前购买的商品、还可以修改商品数量删除商品。 图1.4 购物车页面 确认要购买的商品后,单击“商品结算”按钮,进入登录页面,输入用户名mr,密码mrsoft,然后单击“登录”按钮进行登录,返回到购物车页面,再次单击“商品结算”按钮,此时进入填写订单信息页面,如图1.5所示。 图1.5 填写订单信息页面 信息填写完成后,单击“生成订单”按钮,生成订单,如图1.6所示。单击“确认订单”按钮,然后付款,完成购买操作。 图1.6 生成订单页面
使用: 第1 '================================================= '建立购物车对象,该对象用于直接在程序调用 '================================================= dim uCart set uCart= new UserCart 第二 建立一个购物车 uCart.CreateCart (可以重复建立,因为里面有IsArray判断。所以建议这句在建立购物车对象后必写) 第三 增加购物车里的商品,在客户端点了某产品后,服务器端处理的ASP文件接受传过来的产品标志,并访问数据库。分别把AddItem(aID产品标 志如ID,aName产品名称,aPrice1产品价格一,如单价,aPrice2产品价格二如会员价,aPrice3产品价格三如金牌会员价,如果没这么多可以置空 或置0,aCount购买数量,一般是一个,多个的话后面可以用修改函数修改,aImage产品图片地址) 使用方法:aa=uCart.AddItem(aID产品标志如ID,aName产品名称,aPrice1产品价格一,如单价,aPrice2产品价格二如会员价,aPrice3产品价格 三如金牌会员价,如果没这么多可以置空或置0,aCount购买数量,一般是一个,多个的话后面可以用修改函数修改,aImage产品图片地址),返回 true表示成功,false表示失败 第四 增加了以后进如显示页面,就要用到查看购物车 mycart=uCart.ViewCart() For i =LBound(myCart,2) to UBound(myCart,2) if myCart(0,i)"" then myCart(0,i) '获取标号 myCart(1,i) '获取单价 。。。以此类推 end if next 第五 查看了,可以修改购物车,如更改数量等,或是删除的 call uCart.ModifItem(mID唯一标志号,mCount产品数量,mFlag-标志 0-添加 1-删除,2-修改 3-清空) '先用给后面参数赋值 修改商品 可以用第四个显示,先接受session的值,然后循环修改 或清空购物车 uCart.RemoveAll() 然后结帐,很简单 myprice=uCart.TPrice() 然后myprice(0)是产品单价的总价格,myprice(1)是产品会员价的总价格,myprice(2)是高级会员的总价格,myprice(3)是产品总数量商品装入购物车,这时需要用cookie或session来做一个不同页面间传递的全局变量,也就是说关了浏览器(针对session)或清楚了cookie等原因,本次购物车会消失,就象你今天在商场买了一车的东西,最后没结帐,明天肯定没了,又归位了,当然要有特殊需要保存,可以写数据库!所以这里记录的只需要是该商品的相关信息就可以了,这里我们记录他的 物品ID, 物品单价, 物品名称, 物品数量

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧