在与其他数据一起提交表单时,带有类型按钮的输入元素的名称-值对是否会在发布请求的正文中传递?

Will the name-value pair of an input element with type button be passed in the body of the post request upon form submission with the other data?

提问人:Karan Singh 提问时间:11/15/2023 最后编辑:isherwoodKaran Singh 更新时间:11/15/2023 访问量:15

问:

<input type="button" name="justabutton" value="I'm just a button">

提交表单时,是否会在发布请求中发送按钮的值名称对?

我试图通过将一些数据存储到其名称属性中并将其传递到帖子正文中来使用按钮类型的输入作为文本输入,但不能。

JavaScript 表单

评论


答:

0赞 chrwahl 11/15/2023 #1

试试这个表格。在按“运行代码片段”之前,请打开浏览器中的开发工具并打开“网络”选项卡。尝试单击这两个按钮,看看会发生什么。什么也没做。执行如下所示的 GET 请求:.type="button"type="submit"/post.php?justasubmitbutton=I%27m+just+a+submit+button

结论

在 submit 事件中,the 的值不是 send,而是 will 的值。type="button"type="submit"

<form name="form01" action="post.php">
  <input type="button" name="justabutton" value="I'm just a button">
  <input type="submit" name="justasubmitbutton" value="I'm just a submit button">
</form>

0赞 Barmar 11/15/2023 #2

不,它不会在请求中发送。发布请求中唯一自动包含的按钮是您单击以提交表单的提交按钮(如果表单是由于在最后一个文本字段中按回车键而提交的,则就像您单击了第一个提交按钮一样)。POST

因此,按钮的值永远不会自动发送。type="button"

使用输入将额外的值传递给服务器,而不是按钮。type="hidden"