gpt4 book ai didi

javascript - HTML 表单 : Which Elements are Sent?

转载 作者:行者123 更新时间:2023-11-28 05:45:41 25 4
gpt4 key购买 nike

我正在尝试为 HTML 表单编写一个简单的序列化函数,并且我认为我知道从表单发送哪些数据。然而,这只是通过实验:

  • 仅限具有名称的元素
  • 选中单选按钮或复选框
  • 选择具有选定值的项目
  • 所有其他元素,包括未知元素
  • 具有相同名称的元素将分别发送;由服务器决定如何处理

对于select,如果没有size属性,则该项目始终是选中的项目,而如果有size属性,那么就必须选择一个。

问题是,这是正确的吗?我在哪里可以找到对此的最终决定?

谢谢

最佳答案

w3.org 规范将提交操作期间发送的表单元素称为“成功控件”。

请参见此处:https://www.w3.org/TR/html401/interact/forms.html#h-17.13.2

特别是,它列出了以下关于提交表单时发送和不发送内容的规则。

  • 禁用的控件无法成功。
  • 如果表单包含多个提交按钮,则只有激活的提交按钮才会成功。
  • 所有“打开”复选框都可能成功。
  • 对于共享相同 name 属性值的单选按钮,只有“on”单选按钮可能会成功。
  • 对于菜单,控件名称由 SELECT 元素提供,值由 OPTION 元素提供。只有选定的选项才可能成功。如果未选择任何选项,则控件不会成功,提交表单时,名称和任何值都不会提交到服务器。
  • 文件选择的当前值是一个或多个文件名的列表。提交表单后,每个文件的内容将与表单数据的其余部分一起提交。文件内容根据表单的内容类型进行打包。
  • 对象控件的当前值由对象的实现确定。

  • 未发送重置按钮

值得一提的是,具有 display:none 样式的输入元素不被认为是成功的,但 Visibility:hidden 则被认为是成功的。

关于javascript - HTML 表单 : Which Elements are Sent?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38547786/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com