请看看我的这段JSP的ShoppingCart的代码,帮帮我实现一个功能。

Abyss 2000-08-15 09:22:00
我的代码如下:
<%@ page import="java.sql.*"%>
<%@ page import="java.io.*"%>
<jsp:useBean id="mydb" class="dbaction.dbbean" scope="session"/>
<jsp:useBean id="mycarts" class="dbaction.cartCollection" scope="session"/>

<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<HTML>
<head>
<title>ShoppingCart</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<LINK REL=stylesheet HREF="css.css" TYPE="text/css">
</head>

<BODY bgcolor="#FFFFFF" TOPMARGIN="0" LEFTMARGIN="0" MARGINWIDTH="0" MARGINHEIGHT="0" vlink="#666666" >
<p>Your ShoppingCart:</p>
<table width="100%" border="0" cellpadding="2" cellspacing="2">
<form METHOD="POST" ACTION="order.jsp" id="form1" name="form1">
<tr>
<td align="center" width="40" bgcolor="#60ACC8">PRODUCTID</td>
<td align="center" width="40" bgcolor="#60ACC8">PRODUCTNAME</td>
<td align="center" width="60" bgcolor="#60ACC8">PRICE</td>
<td align="center" width="60" bgcolor="#60ACC8">QUANTY</td>
<td align="center" width="60" bgcolor="#60ACC8">AMOUNT</td>
<td align="center" width="60" bgcolor="#60ACC8">DEL?</td>
<td align="center" width="71"> </td>
</tr>
<%String productid=request.getParameter("productid");
if(productid!=null)
{
String productname=null;
int productprice=0;
String command=null;
ResultSet rest=null;
try{
command="select * from system.product where productid='"+productid+"'";
rest=mydb.getResultSet(command);
rest.next();
productname=rest.getString(2);
productprice=rest.getInt(3);
mycarts.AddItem(productid,productname,productprice,1);
}catch(SQLException e){
String myerr=""+e;
mydb.displayerror(response,myerr);
}finally{
if(rest!=null)rest.close();
}
}
if (mycarts.GetItemCount()==0)
{
%>
<tr> <td><center>No Items.</center></td/tr>
<TR BGCOLOR="#F9EAC1">
<TD><%=mycarts.GetId(i)%></TD>
<TD><%=mycarts.GetName(i)%></TD>
<TD><%=mycarts.GetPrice(i)%></TD>
<TD><input type="text" size=5 maxlength=15 name="quanty" value="1"></TD>
<TD><input type="text" size=5 maxlength=20 name="amount" value="<%=qX*pY%>"></TD>
<td><a href="clearcart.jsp?productid="<%=mycarts.GetId(i).replace(' ','+')%>>
Remove</a></td>
</TR>
<% }
}
%>
</form></table>
<tr><td>
<form method="POST" action="clearcart.jsp" id="form3" name="form3">
<input TYPE=submit VALUE="Clear My Cart" name="button2">
</form>
</td><td>
<form method="POST" action="orderform.jsp" id="form1" name="form1">
<input TYPE=SUBMIT VALUE="Order Online" name="button3">
</form>
</td><td>
<form method="post" action="shoppingmain.jsp">
<input TYPE=submit value="Continue Shopping" name="button">
</form>
</td><td>
<form>
<input TYPE=submit value="Update Quantity" name="button4">
</form>
</td>
</tr>
</table></center>
</BODY></HTML>
我想实现的功能是:将ProductPrice和Quanty的值POST或GET给BUTTON4“Update Quantity”,在后台将Price*Quanty,所得的值显示在AMOUNT中。其实这是个比较简单的问题,但由于我初学JSP,应该说我以前只做过VB,所以有很多不懂,希望大家指教我。
请在我的源程序上修改添加,在帮我检查一下程序的错误。谢谢各位了。我的JSP开发环境是JDeveloper 3.1。
...全文
127 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Abyss 2000-08-16
  • 打赏
  • 举报
回复
谢谢,非常感谢!
leslielu 2000-08-16
  • 打赏
  • 举报
回复
用我上面的那个FORM替换你最后的那个FORM
另外action属性指向自己的这个页面——就是告诉你只用一个页面做。
onsubmit()函数中你要用 你最后这个FORM的名字来标记他里面的元素,而用上面另外一个标记另外的元素。然后类似的一句 document.lastform.quanty.value=document.otherform.quanty.value; 给他赋值。
这是提交最后的表单会提交到自己,然后你当然要写对应的代码处理他的提交。
Abyss 2000-08-16
  • 打赏
  • 举报
回复
能无能在详细点,我的<input TYPE=hidden value="1" name="quanty">
<input TYPE=hidden value="<%=mycarts.GetPrice(i)%>" name="price">
和<input TYPE=submit value="Update Quantity" name="button4">是在两个<form>里啊,而且我是要在同个页面实现,不是两个页面。
leslielu 2000-08-16
  • 打赏
  • 举报
回复
在你的
<form>

<input TYPE=hidden value="1" name="quanty">
<input TYPE=hidden value="<%=mycarts.GetPrice(i)%>" name="price">
<input TYPE=submit value="Update Quantity" name="button4">
</form>
中把他的action属性指向自己的这个页面。同时你可以使用javascript写onsubmit()函数,将上面那个form的数据也就是Quantity读到你的隐藏字段。我想这个就应该解决你头疼的问题了吧。
当然你要在你的显示Amount时作相应的处理。这个应该很简单,只需要判断有没有传过来参数就好了。

81,091

社区成员

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

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