form基本元素

<form/>元素用于生成输入表单,该元素不会生成可视化部分。

注:在HTML5规范以前,表单控件都需要放在<form/>元素之内。

<form/>元素可以指定id、style、class等核心属性,还可以指定onclick等事件属性。除此之外还可以指定如下几个属性:

  • action:指定当单击表单内的“确认”按钮时,该表单被提交到哪个地址,可以是绝对地址,也可以是相对地址。该属性必填。
  • method:指定提交表单时发送何种类型的请求,该属性值可为get为post,分别用于发送GET或POST请求。通常建议发送POST请求。该属性必填。
  • enctype:指定对表单内容进行编码所使用的字符集。
  • name:指定表单的唯一名称。
  • target:指定使用哪种方式打开目标URL(提交请求会打开另一个URL资源),与超链接的target可接受的属性值完全一样,该属性可以是_blank、_parent、_self和_top四个值之一。

其中的method属性非常重要,表单默认以GET方式提交请求。GET请求和POST请求区别如下。

  • GET方式的请求:GET方式的请求会将请求参数的名和值转换成字符串,并附加在原URL之后。如果请求走浏览器方式的话,一般不能大于2KB。如果走其他方式无限制。一般用于读请求。
  • POST方式的请求:POST方式传送的数据量较大,请求参数大小不受限制。而且POST方式发送的请求参数以及对应的值放在HTML HEADER中传输,用户不能再地址栏里看到请求参数值,安全性相对较高。一般用于写请求。

提交请求通常有两种方式。

  • 提交表单:可以让用户输入请求参数,并以POST方式提交请求;
  • 使用超链接:该方式来提交请求,则只能提交GET请求。超链接提交请求也可包含请求参数,只是不能收集用户输入而已。

表单的enctype属性用于指定表单数据的编码方式,一共有3个值。我们介绍其中较为重要的两个:

  • application/x-www-form-unlencoded:这是默认的编码方式,它只处理表单控件里的value属性值,采用这种编码方式的表单会将表单控件的值处理成URL编码方式。
  • multipart/form-data:这种编码方式会以二进制流的方式来处理表单数据,这种编码方式会把文件域指定文件的内容也封装到请求参数里。当需要通过表单上传文件时使用该属性值。

猜你喜欢

转载自blog.csdn.net/qq_36470686/article/details/82765753