图书商城

图书商城,第1张

文章目录 1.1 将来到商品,并且设置了购买数量之后,加入购物车之后,购买数量依旧是11.2 生成订单的过程1.3 生成订单的时候,生成的事件和实际的时间相差8个小时1.4 多条订单未支付的时候,需要显示倒计时,超过相应时间自动取消订单1.4 根据生成订单时间,设置最迟支付时间

1.1 将来到商品,并且设置了购买数量之后,加入购物车之后,购买数量依旧是1

当我们选中了某一个商品,之后,设置购买数量为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代码--------------------------