【问题标题】:How to obtain value of HTML <input type="image"> in the Servlet如何在 Servlet 中获取 HTML <input type="image"> 的值
【发布时间】:2010-10-28 10:28:53
【问题描述】:

我的jsp中有这段代码

<div class="controls">
    <input type="image" class="sprite submit-button button" name="SubmitChangeCreds" value="ChangeUIDSubmit" src="../images/layout/transparent.png" />
</div>

在我的 servlet 中,我试图像这样获取此图像的值

request.getParameter("SubmitChangeCreds")

但这是空的。

我们将不胜感激。

【问题讨论】:

  • 抱歉jsp代码没有被添加到问题中......这里是
  • 你应该编辑你的答案并在那里添加代码+格式化它而不是粘贴它作为评论。
  • 阅读格式规则的常见问题。

标签: html jsp servlets


【解决方案1】:

根据 HTML 规范,input type="image" 将用作图像映射。当最终用户单击图像地图时,网络浏览器会将鼠标指针的 x 和 y 位置发送到服务器。提交的值可用作originalname.x 和originalname.y。

所以在你的情况下:

String x = request.getParameter("SubmitChangeCreds.x");
String y = request.getParameter("SubmitChangeCreds.y");

但是,您似乎毕竟在滥用input type="image",因为您似乎对鼠标位置不感兴趣。我建议只使用input type="submit",其中图像被指定为 CSS 背景图像。

例如

<input type="submit" class="sprite submit-button button" name="SubmitChangeCreds" value="ChangeUIDSubmit" />

例如

.submit-button {
    background-image: url('../images/layout/transparent.png');
}

这是在按钮中更正确地使用背景图像。

【讨论】:

  • 根据spec:“输入元素代表用户可以从中选择坐标并提交表单的图像,或者用户可以从中提交表单的按钮。”所以这里没有滥用,图像按钮可以用作提交按钮。规范中的另一件事是:“必须省略元素的 value 属性。”这可能就是参数为null 的原因。
猜你喜欢
  • 2015-04-12
  • 2022-12-07
  • 2023-02-21
  • 1970-01-01
  • 1970-01-01
  • 2010-12-20
  • 2016-01-23
  • 1970-01-01
  • 2013-09-22
相关资源
最近更新 更多