Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果HTML表单有两个<;输入类型=";提交&燃气轮机;按钮,我怎么知道哪个被点击了?_Html_Forms_Submit - Fatal编程技术网

如果HTML表单有两个<;输入类型=";提交&燃气轮机;按钮,我怎么知道哪个被点击了?

如果HTML表单有两个<;输入类型=";提交&燃气轮机;按钮,我怎么知道哪个被点击了?,html,forms,submit,Html,Forms,Submit,假设我有以下HTML表单: <form> ... <input type="submit" name="queue" value="Queue item"> <input type="submit" name="submit" value="Submit item"> </form> ... 我如何知道用户单击了哪个按钮(不使用javascript) 我查看了提交的数据,似乎在单击“队列项目”时,“队列”=“队列项目”会被发送到服务器。单击“

假设我有以下HTML表单:

<form>
...
<input type="submit" name="queue" value="Queue item">
<input type="submit" name="submit" value="Submit item">
</form>

...
我如何知道用户单击了哪个按钮(不使用javascript)

我查看了提交的数据,似乎在单击
“队列项目”
时,
“队列”=“队列项目”
会被发送到服务器。单击
“提交项目”
,然后
“提交”=“提交项目”
设置发送


我能相信这种行为吗?是否在HTML表单的标准中记录了它?你们是怎么做到的?

你们可以相信这种行为。您将获得输入的值。我会使用
javascript
来切换隐藏的表单值,但是由于您没有提到
javascript
,所以您没有多个选择


这是一个标准。由于它是一个
输入
标记,并且有一个
,这意味着您将获得提交的
值。

是的,您可以依赖该行为

单击
时,将设置“队列”字段,而不会设置“提交”

然而,当点击另一个时,将设置字段“提交”,而不会设置“队列”


如果您对此没有把握,您可以将它们分为两种形式,并以这种方式进行处理。

是的,您可以信赖这一点;它有完整的文档记录。具体的相关线路是:

提交表单以进行处理时,某些控件的名称与其当前值配对,这些配对将与表单一起提交。提交名称/值对的那些控件称为成功控件

如果表单包含多个提交按钮,则只有激活的提交按钮成功


将表单拆分为两个表单,复制其他操作所需的任何其他输入。或者,如果您真的只需要知道用户是否想要“排队与提交”项目,请将两个提交按钮更改为单选选项以在两个选项之间切换,并使用一个新的单独的“提交表单”按钮


在这种情况下,如果您想要一个单击选项,您可以使用Javascript来检测何时选择了其中一个单选按钮,并立即自动提交表单。(将Javascript用于用户界面,而不是表单处理)

当用户点击enter按钮而不是按下按钮时,表单上的第一个提交按钮将是活动按钮。不,您不能依赖此行为。在IE6中,你会得到两个按钮的提交值——仅仅因为它是标准并不意味着它的实现是正确的。那我该怎么办,埃里克?据我所知,IE中的多输入type='submit'(就像你正在使用的)实际上是正确处理的,而不是按钮type='submit'。不幸的是,我不能从这里得到IE测试,所以我不能确定。其他有用的阅读:。显然IE也不像你所期望的那样用回车键工作。唉,我刚刚学到了一些新东西;我总是使用
而不是
——显然IE6会正确处理后者,而不是前者,这正是我评论的原因。可能是