首页新闻找找看学习计划

javascript获取表单数组得到总数。

0
悬赏园豆:30 [已解决问题] 解决于 2012-10-15 08:53

我做一个购物车如图:

我想要显示出总价格,其中单个商品的总价已经在后面给出,如何计算出总价格:

字段说明:

表单叫pList,商品总价叫thisTotal;总价叫total.以下是我的代码:

<%@ page contentType="text/html" pageEncoding="GBK"%>
<%@ page import="java.util.*" %>
 <script language="javascript">
  function getTatal(){     <!--得到总价方法,此时是错误的-->
  var arr=new Array();
   arr= document.pList.thisTotal;
   alert(arr);
  var count = "";
  for(var i = 0; i <arr.length; i++)
  {
   alert(arr[i].value);
   count += arr[i].value;
  }
  document.pList.total.value=count;
  }

 </script>
<center>
 <h1>购物车列表</h1>
<form name="pList" action="update_car.jsp" method="post">
<table>
 <TR>
  <td >名称</span></td>
  <td >价格</td>
  <td >简介</td>
  <td >数量</td>
  <td >总价</td>
 </TR>
<%
 List all =(List)request.getAttribute("carList");    //得到购物车里面的商品
 Map<Integer,Integer> carMap = (Map<Integer,Integer>) session.getAttribute("carMap") ;  //得到购物车
 Iterator iter = all.iterator() ;
 while(iter.hasNext()){
  pageContext.setAttribute("pro",iter.next()) ;
%>
 <TR >
  <td >${pro.productName}</td>
  <td >${pro.price}</td>
  <td >${pro.note}</td>
  <td>
   <input type="text" name="${pro.productId}" value=${carMap[pro.productId]} />
   <input type="submit" value="修改数量">
  </td>
  <td>
   <input type="text" name="thisTotal" value=${carMap[pro.productId]*pro.price} />
  </td>
 </TR>
<%
}
%>
</table>
<input type="text" name="total" value="" onLoad="getTotal()" />
<input type="button" value="去结算" onclick="gocheck()">
</form>
</center>

寂寥的出生在1874的主页 寂寥的出生在1874 | 初学一级 | 园豆:7
提问于:2012-10-14 00:04
< >
分享
最佳答案
0

给每行的总价输入框加个id,并且用序列标识,比如id=t0,下一行则为t1。

用js按序列取值相加即可。

收获园豆:20
I,Robot | 大侠五级 |园豆:9461 | 2012-10-15 00:36
其他回答(3)
0

哥们,这个需要用jquery做。

小瑞子 | 园豆:214 (菜鸟二级) | 2012-10-14 00:31
0

个人觉得简单的JS的计算都是可以完成的。

chenping2008 | 园豆:9836 (大侠五级) | 2012-10-14 20:21
0

读出最后价格的值然后相加

收获园豆:10
jason2013 | 园豆:1998 (小虾三级) | 2012-10-14 20:23
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册