我正在使用一个非常简单的小型Web应用程序,它是一个处理购物车的jsp。
此时我所做的是遍历存储在汽车中的所有产品,并在每次迭代时将它们逐个添加到jsp中。
这是在每次迭代中向jsp添加一行的代码:
<tr>
<td>
<input type=text name=Quantity value=<%=quantity%>>
</td>
<td>
<input type=text name=id value=<%=id%>>
</td>
<td>
<input type=submit value="Delete" onclick=<%CustomSubmit(request, id); %>>
</td>
</tr>
正如您所看到的,我在每行的末尾添加了一个提交类型控件,其中包含一个用于处理Click事件的自定义方法,此控件的使用是从汽车中删除相应的产品。
我遇到的问题是,当我点击产品的删除按钮时,传递给CustomSubmit(...)方法的ID不是我要删除的产品的ID但是添加到jsp的最后一个产品的ID。
所以,我的问题是如何从我想要删除的项目中获取正确的ID?
答案 0 :(得分:1)
我用它的方式如下:
替换
<input type=submit with a button
<input type="button" value="Delete" onclick="deleteIt('yourid');" />
添加deleteIt javascript函数,在函数中用id填充隐藏的输入字段。 然后提交页面,并将正确的ID传递到您的页面
小旁注总是谨慎逃脱你所有的弦乐
dont use <input type=submit but use <input type="submit"
也许喜欢
<td>
<input type="text" name="id" value="<%=id%>">
</td>
<td>
<input type="button" value="Delete" onclick="deleteItem('<%=id%>')">
</td>
答案 1 :(得分:1)
我假设你的购物车是一个对象列表,每个对象都有属性id和数量。所以我希望你的代码看起来像这样(注意Peter关于使用'按钮'的答案):
<input type="button" value="Delete" onclick="CustomSubmit('<%=cartItem.id%>');"/>
我不完全确定您在原始代码中使用'request'参数尝试了什么,但是如果这是HTTP请求,那么当您尝试将其写入JSP时,您将获得所有这些参数。 request.toString
方法。