【问题标题】:JavaScript submit form doesn't pass a hidden value correctlyJavaScript 提交表单未正确传递隐藏值
【发布时间】:2019-06-25 01:58:30
【问题描述】:

我想在不使用提交按钮的情况下传递隐藏值。
我希望用户点击一个项目图像,它会将他们带到项目详细信息。

所以,如果他们点击下图所示的西红柿,它会将他们带到西红柿页面。

这就是我的工作:

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();
}

小服务程序:

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

【问题讨论】:

  • 您是否确认您的渲染 HTML 正确设置了 itemId 的值?您的表单action 就是ItemDetail。这是您的 .jsp 的有效路径吗?当您调试它并在您的 servlet 代码上放置一个断点时,它实际上会停在那里吗?目前还不清楚你遇到了什么问题。你有 JavaScript 错误吗?
  • @Cᴏʀʏ 好的,所以我发现了问题。因为我循环了&lt;img&gt; 标签,所以我有很多&lt;input type="hidden"&gt;,当我在Servlet 中使用getParameter 时,它只需要第一个循环。所以现在我的问题变成了我怎么知道点击了哪个图片以便我可以传递正确的参数?我想我应该关闭这个并提出一个新问题?

标签: html jsp servlets


【解决方案1】:

我终于找到了原因。 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>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多