JavaScript提交表单未正确传递隐藏值

时间:2019-06-25 01:58:30

标签: html jsp servlets

我想不使用提交按钮来传递隐藏值。
我希望用户单击项目图像,它将使他们进入项目详细信息。

因此,如果他们单击下面显示的西红柿,它将带他们到西红柿页面。

tomato

这就是我的工作

jsp:

<form action="ItemDetail" method="get" name="itemForm" id="itemForm">
<input type="hidden" name="itemId" id="itemId" value="<%= i.getItemID() %>">
  <a href="javascript: submitForm()">
    <img src="<%=i.getImg()%>"
  </a>
</form>

javascript:

function submitForm(){
    document.forms["itemForm"].submit();
}

servlet:

String itemId = request.getParameter("itemId");

1 个答案:

答案 0 :(得分:0)

我终于找到原因了。 javascript提交所有表单,因为它们都具有相同的名称,因此我更改了表单ID,并且未更改servlet

<form action="ItemDetail" method="get" name="itemForm" id="itemForm<%= i.getItemID() %>">
  <a href="javascript:{}" onclick="document.getElementById('itemForm<%= i.getItemID() %>').submit();">
  <input type="hidden" name="itemId" id="itemId" value="<%= i.getItemID() %>">

    <img src="<%=i.getImg()%>"
  </a>
</form>