我有一个在服务器端使用自定义框架的 java/jsp 应用程序。此特定页面是查看购物车,其中包含购物车中的商品列表。在列表中,我为每个项目提供了一个表格来更新数量或删除项目。我正在使用多个表单,因此如果我要在一个表单中提交整个列表,我不必在服务器端做太多的工作来确定需要更新的项目。我为每个表单提供了产品的唯一 ID,并且我还将相同的 ID 添加到触发提交的操作链接上的属性中。在单击操作链接时,我需要设置隐藏字段 pageAction,因此在服务器端,这对应于为任何特定页面操作运行代码的 actionEvent。因此,如果 cartUpdate 被击中,则需要将其设置为 pageAction。
js("input[rel=actionButton]").val(action);
我不确定我是否还需要检查是否来自正确的 id 表格?或者,如果在 JS 方面有更好的方法来做到这一点,那么我在做什么。任何意见,将不胜感激。
HTML
<!-- QUANTITY AND MANAGEMENT -->
<td class="cartQty" align="left" valign="top">
<form id="${item.product.boId}" action="${pageContext.request.contextPath}/store/viewcart.do" method="post">
<input name="quantity" type="text" value="1" maxlength="3" class="cartQtyBox">
<input type="hidden" value="${item.product.boId}" name="productId">
<input type="hidden" value="${item.productStyle.boId}" name="productStyleId">
<input type="hidden" name="pageAction" rel="actionButton">
<a id="buttonAction" rel="buttonAction" action="cartUpdate" pid="${item.product.boId}" href="#" class="updateCart">Update</a>
<span>|</span>
<a id="buttonAction" rel="buttonAction" action="cartRemove" pid="${item.product.boId}" href="#" class="removeItem">Remove</a>
</form>
</td>
JS
js(document).ready(function() {
js("a[rel=buttonAction]").click(function(event){
var formId = js(this).attr('pid');
var action = js(this).attr('action');
js("input[rel=actionButton]").val(action);
js("#"+formId).submit();
});
});