在什么条件下提交输入?

2020-02-22 javascript jquery html form-submit

提交表格时,提交了哪些输入?

举个例子:

  1. 禁用的输入未提交 ...
  2. 没有名称属性的输入未提交 ...

我正在寻找更全面/正式的文档,该文档说明了提交了哪些输入?

Answers

有一系列条件。

控件的表单所有者必须是要提交的表单,并且以下任何一项都不成立:

  • 字段元素具有数据列表元素祖先。
  • 字段元素被禁用。
  • 字段元素是一个按钮,但不是提交者。
  • 字段元素是输入元素,其类型属性处于“复选框”状态,并且其检查度为false。
  • 字段元素是一个输入元素,其类型属性处于“单选按钮”状态,并且选中状态为false。
  • field元素是不使用插件的object元素。

并且必须建立一个名称。

有关详细信息,请参见HTML5规范中的4.10.21.4。

正如W3文件( https://www.w3.org/TR/html401/interact/forms.html#successful-controls )所述:

成功的控件对于提交是“有效的”。每个成功的控件都有其控件名称和其当前值,作为提交的表单数据集的一部分。成功的控件必须在FORM元素内定义,并且必须具有控件名称。

然而:

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

文档中有更多详细信息。

Related