当我们选中了某一个商品,之后,设置购买数量为4,然后加入购物车,然后我们就会来到购物车的界面,看到我们新加入的商品以及购买的数量,如下所示:
但是一开始在点击"加入购物车"这个超链接之后,来到了第二个界面,显示的购买数量却是1,后来才发现,在超链接中并没有传递参数count,而在自己的Servlet中代码中,如果没有传递参数count,那么就默认购买了1本,所以就到了错误。那么我们将如何实现我们上面的要求呢?我们只需要向请求中发送count参数即可,并且count的值就是我们在第一个界面中设置的值。但是我们又该如何获取设置的值呢?。也即这个问题变成了,超链接将如何获取表中的值呢?其实很简单,我们只需要给这个超链接设置一个点击事件,然后再这个点击事件中,获取我们想要的标签的值,然后再来设置这个超链接的href属性即可实现我们的需求了。所以我们只需要修改第一个界面的代码即可,主要代码如下:
--------------html代码--------------------------
<div id="top" style="text-align: right">
<div id="right">
<c:if test="${not empty requestScope.book}">
<form action="/OrderServlet" method="post">
<input type="hidden" name="method" value="produceOrder">
<input type="hidden" name="id" value="${book.id}">
<div id="image_frame">
<img src="/images/${book.name}.png">
div>
<div id="desc_frame">
<p>${book.name}p>
<p name="price">¥ ${book.price} 元p>
<p>
<input type="button" id="sub" value="-">
<input type="text" name="count" id="count" value="1" style="width: 50px;">
<input type="button" id="add" value="+">
p>
<p>
<input type="submit" value="立刻购买">
<a id="a" style="margin-left: 25px; background-color: lightgreen; " onclick="getHref(${book.id})">加入购物车a>
p>
div>
form>
c:if>
div>
div>
------------js代码--------------------------