HTML表单:发送了哪些元素?

时间:2016-07-24 01:02:45

标签: javascript html forms serialization

我正在尝试为HTML表单编写一个简单的序列化函数,我想想我知道从表单发送了什么数据。但是,这只能通过实验来实现:

  • 仅包含 <Button android:id="@+id/btnButton1" android:layout_width="95dp" android:layout_height="wrap_content" android:style="@style/button" android:text="CREATE" android:onClick="createButtonClickHandler"/> s
  • 的元素
  • name单选按钮或复选框
  • checked具有选定值的项目
  • 所有其他元素,包括未知元素
  • 具有相同select的元素将分别发送;由服务器决定如何处理

关于name,如果没有select属性,则项目始终是选定项目,而如果有size属性,则必须选择一项。

问题是,这是正确的吗?我在哪里可以找到关于此的最后一句话?

由于

1 个答案:

答案 0 :(得分:0)

w3.org规范指的是在提交操作期间作为“成功控制”发送的表单元素。

见这里:https://www.w3.org/TR/html401/interact/forms.html#h-17.13.2

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

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

  • 未发送重置按钮

值得一提的是,带有样式显示的输入元素:none不被认为是成功的,但可见性:隐藏的是。