表单元素
一、表单的用途
HTML 表单用于收集用户的输入信息。
HTML 表单表示文档中的一个区域,此区域包含交互控件,将用户收集到的信息发送到 Web 服务器。
一个表单有三个基本组成部分:
表单标签:这包含了处理表单数据所用的URL以及数据提交到服务器的方式。
表单域(表单控件):包含了文本框、密码框、隐藏域、多行文本框、复选框、单选框、下拉选择框和文件上传框等。
表单按钮:包括提交按钮、复位(重置)按钮和一般按钮;用于将数据传送到服务器上或者取消输入,还可以用表单按钮来控制其他定义了处理脚本的处理工作。
二、表单的典型应用
三、常见的表单元素
四、表单的基本语法
表单是一个包含表单元素的区域。
表单元素是允许用户在表单中输入内容,比如:文本域(textarea)、下拉列表(select)、单选框(radio-buttons)、复选框(checkbox) 等等。
我们可以使用
form表单属性:
action 用于指定提交表单数据的请求URL。method 表单数据发送至服务器的方法,常用的有两种 get(默认)/post。
get和post的区别:
指代不同:
get:从指定的资源请求数据。
post:向指定的资源提交要被处理的数据
规则不同:
get: 请求可被缓存;请求保留在浏览器历史记录中;请求可被收藏为书签;请求不应在处理敏感数据时 使用;请求有长度限制;请求应当用于获取数据。
post:请求不会被缓存;请求不会保留在浏览器历史记录中;不能被收藏为书签;请求对数据长度
没有要求。
数据要求不同:
get:当发送数据时,get 方法向 URL 添加数据;URL 的长度是受限制的(URL 的最大长度是
2048 个字符)。与 post 相比,**get 的安全性较差,**因为所发送的数据是 URL 的一部分。
POST:发送数据无限制。**post 比 get更安全,**因为参数不会被保存在浏览器历史或 web 服务器
日志中。
get请求的参数 url 可见,而 post 请求的参数 url 不可见。
post请求能发送更多的数据类型(get请求只能发送ASCII字符)
总之:
get提交:用户输入的信息,显示在地址栏中,不安全,请求内容长度有限制,请求速度快。
比如:京东、百度、淘宝首页的搜索数据,都是get提交
post提交:用户输入的信息,不会显示在地址栏,安全,请求内容长度无限制(重要数据),请求速度慢。
比如:用户注册、用户登录,都是post提交
当使用get提交方式时 input的name属性值和提交的信息就会显示在地址栏上面
五、表单控件元素
5.1、表单输入控件
input标签:用来定义输入控件。这个标签非常有用,它可以实现各种各样的表单控件效果。
根据不同的 type 属性值,输入字段拥有很多种形式。输入字段可以是文本字段、复选框、掩码后的文本控件、单选按钮、按钮等等
控件名称type属性值描述文本框text(默认值)默认。定义一个单行的文本字段(默认宽度为 20 个字符)。密码框password定义密码字段单选按钮radio定义单选按钮。(性别等)复选框checkbox定义复选框。(爱好等)提交按钮submit定义提交按钮。重置按钮reset定义重置按钮(重置所有的表单值为默认值)。图片提交按钮image定义图像作为提交按钮。普通按钮button定义可点击的按钮(通常与 JavaScript 一起使用来启动脚本)隐藏文本框hidden定义隐藏输入字段。前后台交互非常有用文件上传框file定义文件选择字段和 “浏览…” 按钮,供文件上传。可以通过accept属性规范选取文件的类型,比如图片/视频,如果不设置则什么类型都可以。accept属性的值: image/* 接受所有的图像文件。image/png 表示只接受图片文件的png文件audio/* 接受所有的声音文件。video/* 接受所有的视频文件。multiple属性可以用来设置一次允许选择多个文件 multiple=“multiple”
5.2、其他表单控件
5.2.1、
定义文本域 (一个多行的输入控件)
文本区域中可容纳无限数量的文本,其中的文本的默认字体是等宽字体(通常是 Courier)。
可以通过 cols 和 rows 属性来规定 textarea 的尺寸大小,不过更好的办法是使用 CSS 的 height 和 width 属性。
缩放设置:
禁止缩放:resize: none;水平缩放:resize: horizontal;垂直缩放:resize: vertical;水平垂直缩放:resize: both;
文本域:
5.2.2、
定义了 元素的标签,一般为输入标题
label 元素不会向用户呈现任何特殊效果。不过,它为鼠标用户改进了可用性。如果您在 label 元素内点击文本,就会触发此控件。就是说,当用户选择该标签时,浏览器就会自动将焦点转到和标签相关的表单控件上。
方式一:
for属性,让标签和指点的input元素建立关联,多数使用在单选或复选给单选或复选后面的文字加入label标签,for属性值是input的id值
方式二:
将input元素包含在label标签中如果将input放置在label标签之间,那么for属性就可以不用
注:和单选、复选结合使用,提高用户体验。
爱好:
5.2.3、