<html>
<head>
<title>View Shopping Cart</title>
<script type="text/javascript">
function remove(book_id)
{
document.getElementById('bookId').value = book_id;
document.forms[0].submit();
}
</script>
</head>
<body>
<table border="1" id="bookTable">
<tr>
<th>Book ID</th>
<th>Book Name</th>
<th>Author</th>
<th>Quantity</th>
<th>Remove from cart</th>
</tr>
<%
try
{
int cus_id = Integer.parseInt(session.getAttribute("cusId").toString());
ResultSet rs = SqlConnection.getData("select * from book b, shopping_cart s where s.book_id=b.book_id AND s.cus_id=" + cus_id);
if (!rs.first())
{
out.print("<h3>Nothing in the Cart!</h3>");
}
else
{
rs.previous();
while (rs.next())
{
%>
<tr>
<%
out.print("<td>" + rs.getInt("book_id") + "</td>");
out.print("<td>" + rs.getString("book_name") + "</td>");
out.print("<td>" + rs.getString("author_name") + "</td>");
out.print("<td><input type='number' name='qty' id='qty'/></td>");
out.print("<td><input type='button' onClick='remove(" + rs.getInt("book_id") + ")' value='Remove from cart'/></td>");
%>
</tr>
<%
}
}
}
catch (Exception e)
{
e.printStackTrace();
}
%>
</table><br/><br/>
<p style="color: green;">${successful}</p> <br/>
<p style="color: red;">${error}</p> <br/>
<a href="viewBooks.jsp"><input type="button" value="View Books"></a>
<a href="welcome.jsp"><input type="button" value="Home"></a>
<form action="/ShoppingCartRemoving" method="post">
<input type="hidden" name="bookId" id="bookId"/>
</form>
</body>
</html>
Это код JSP. Я проверил и понял, что это никогда не доходит до сервлета. Но другая страница JSP с такой же структурой работает нормально. Это сбивает с толку. Я пытаюсь удалить товары из корзины.
Функция JavaScript заключается в том, чтобы получить bookId и поместить его в скрытое поле ввода в форме, а затем отправить форму. Этот точный код отлично работал на другой странице JSP.