当前位置: 首页 > 知识库问答 >
问题:

哪个按钮被按下了?

陈泰宁
2023-03-14

我知道以前可能有人问过这个问题,但我似乎找不到适合我情况的合理答案。

我有一个表单,表单中有多个提交按钮,我需要知道按下了哪个按钮。

表单内部的一个小代码段可能如下所示:

<input type="submit" name="action" value="<fmt:message key="ID001"/>"/> <!-- Save -->  
<input type="submit" name="action" value="<fmt:message key="ID002"/>"/> <!-- Delete --> 
<input type="submit" name="action" value="<fmt:message key="ID003"/>"/> <!-- some other action -->

fmt:消息部分只是考虑了客户端的语言并将单词放在按钮上。

到目前为止,我在submit按钮上添加了一个动作处理程序,并在表单上添加了一个隐藏的input元素,告诉我哪个按钮被按下了,但是我需要在不依赖javascript的情况下支持这个站点。

由于按钮的值是可变的,我如何处理它?(本质上,如果输入有一个地方说value="和text="",我可以做到这一点,但它没有)

我考虑将我想要的“值”(如“保存”和“删除”)移动到name属性,并通过执行以下操作检查是否设置了值:

<c:if test="${!empty param.save}">
.
.
.
</c:if>

然而,当我有一个x大小的列表,每个都可以删除时,问题就出现了。我举个例子来说明我的意思:

表单jsp:

<input type="submit" name="delete_row|1" value="<fmt:message key="ID001"/>"/> <!-- delete first row-->  
<input type="submit" name="delete_row|2" value="<fmt:message key="ID002"/>"/> <!-- deleted second row --> 
<input type="submit" name="delete_row|3" value="<fmt:message key="ID003"/>"/> <!-- delete third row -->
...

服务器端jsp:

<c:if test="${!empty param.delete_row|x}"> 
.
. <%-- handle the specific row deletion here--%>
.
</c:if>

^-我不知道x是什么…它可以是1,或者100,甚至更多,所以我需要一种方法来找到任何以delete_row开头的参数,并以某种方式对其进行定界。

我稍微研究了一下,发现了<代码>

所以,我的限制是:

  • 没有js
  • 必须由IE6或更老的浏览器支持

有人有什么建议吗?如果我需要更详细地解释一些事情,请发表评论,

共有2个答案

房冥夜
2023-03-14

据我所知,如果我错了,希望有人能纠正我,HTML规范并没有提供您在使用时所需的内容。顺便说一句,这将建议您查看HTML4规范。

因此,要么不支持旧浏览器,要么使用Java脚本。在这两种情况下,你都需要和你的老板谈谈。

方奕
2023-03-14

使用按钮代替输入

<button name='submit' type='submit' value='1'><fmt:message key="ID001"/></button>
<button name='submit' type='submit' value='2'><fmt:message key="ID002"/></button>
<button name='submit' type='submit' value='3'><fmt:message key="ID003"/></button>

如果您希望单击“可单击”按钮,但不提交表单,请在其中添加type='button'

 类似资料:
  • 我试图构建一个GUI,它有许多按钮(JButton)/下拉项(JMenuItem),当按下每个包含字母的按钮时,相关的字母将添加到标签中。 我无法识别按下了哪个按钮。你能给我一个关于如何做到这一点的提示吗?

  • 我想知道在多个按钮的列表中按下了哪个按钮。例如,如果按下了第二个按钮,则代码会检测到按下第二个向下的按钮,并返回类似于 。但是,我不知道该怎么做。当我搜索时,jQuery参与其中,但我没有使用jQuery。代码如下: 我尝试使用EventListner,通过将EventListner添加到创建的每个按钮,但这并不能区分单个按钮。请注意,每个按钮都有一个id为和一个类。 如果有人能帮忙,谢谢!

  • 我有一个二维数组(矩阵),尺寸为50x50。在这些矩阵中,每个位置的值为 0 或 1。此矩阵由具有 50x50 按钮的网格布局呈现,如果值为 0 或 1,则这些按钮为白色或黑色。如果我按下一个按钮,矩阵中的相关位置应该将值更改为1。为了实现这一点,我为每个矩阵位置创建了一个按钮的网格,由for循环执行。我还为此 for 循环中的每个按钮实现了一个 ActionListener。我尝试使用 Acti

  • 我是一个新手,我正在尝试创建一个应用程序来在我的投资组合中使用。本质上,该程序是一个可以访问不同菜单的菜单(json文件:texas_pick.js,Breakth.js…),该程序旨在以按钮的形式显示菜单选项,按钮的详细信息从各自的json文件中检索。我面临的问题是,单击菜单选项时,会检索最后一个菜单项的数据。我将后端编程为只将商品名称和价格推送到数据库,而前端则检索这些数据并将其显示在表上。检

  • 我动态创建了按钮。 我知道用以下代码单击了哪个按钮; 然而,在这种情况下,我无法知道按钮的名称。因为按钮的名字可以是任何东西。我怎么知道按下了哪个按钮?提前感谢!

  • 我正在测试JFXtras(v8.0-r5)的Monology FX,但我被它卡住了! 有人能告诉我如何检查用户按下的对话框中的按钮是什么吗?我试了很多方法,但一点运气都没有。