1、作用
提供可视化的输入控件,收集用户信息,并提交给服务器
2、表单的组成部分
前端部分:提供表单控件,与用户交互的可视化控件
后端部分:对提交数据进行处理的接口
3、表单标签
<form></form>
属性:
(1)action:定义表单被提交时动作,通常定义的是服务器处理程序的接口(url/接口),默认提交本页
(2)method:指定表单数据提交方式
get:明文提交,提交的内容会显示在浏览器地址栏上,提交数据有大小限制,不能超过2kb,向服务器要数据,使用get
post:隐式提交,提交的数据不会显示在地址栏上,提交数据没有大小限制,要传递数据给服务器时使用post
(3)enctype:指定表单数据的编码方式,允许什么样的数据提交给服务器
默认值:application/x-www-form-urlencode,可以提交任意字符给服务器,不能提交文件
text/plain只能提交普通字符(不能包含特殊符号,比如&)
multipart/form-data:允许将文件提交给服务器
4、表单控件
能够与用户交互的可视化元素
分类:input元素
textarea多行文本域
select和option下拉选择框
其他元素
(1)input元素
<input>或者<input/>
1⃣️属性:
type:指定input控件的类型
name:为控件名称,提供给服务端使用如果想提交本控件的值,就必须写
value:控件值,提交给服务器使用
disabled:无值属性,禁用控件,不能操作控件,且不能提交
2⃣️ input详解
文本框和密码框
文本框:type="text"
密码框:type="password"
属性:
maxlength:指定限制输入的最大字符数
readonly:无值属性,只能看不能写,但是可以提交
placeholder:占位符,默认显示在控件上文本,做提示用,不会被提交
(2)按钮
2.1提交按钮:
type="submit",将表单中的数据提交给服务器
2.2重置按钮:
type="reset",将表单内容恢复到初始化状态
2.3普通按钮:
type="button",没有任何功能,激活js事件
vaule:定义按钮上的文字
(3)单选和复选
单选按钮type="radio"
复选框type="checkbox"
属性:
name:除了定义控件名称外,还起到分组作用,必须添加value值才能正确提交值,复选框的name必须定义为数组
checked:无值属性,设置默认被选中的项
<input type="radio" name="gender" value="1" checked>男
<input type="radio" name="gender" value="0">女
<input type="radio" name="gender" value=null>不详
<div>
<input type="checkbox" name="hobby[]" value="1" checked>吃
<input type="checkbox" name="hobby[]" value="2">喝
<input type="checkbox" name="hobby[]" value="3">玩
<input type="checkbox" name="hobby[]" value="4">乐
</div>
(4)隐藏域
type="hidden"
想提交给服务器的数据,但是不想给用户看的数据,可以放在隐藏域中
<input type="hidden" name="pid" value="10001">
(5)文件选择框
type=“file”
注意:需要把form的method改为post,enctype设置为multipart/form-data
属性multiple无属性值,设置多文件上传
<form action="" method="post" enctype="multipart/form-data">
<input type="file" name="file" multiple>
</form>
(6)文本域
允许录入多行数据的文本
<textarea name="" value="" ></textarea>
cols:指定文本域的行数
rows:指定文本域的行数
超出部分会显示滚动条
(7)下拉选择框
<select>
<option></option>
</select>
select属性:
name:定义下拉选的名称
value:下拉选的值
size:定义显示选项的数量,默认1,如果取值大于1,元素表现为滚动条列表
multiple:设置多选,无值属性,只要设置multiple,下拉列表会变成滚动列表,注意:name要写成数组
option属性:
value:定义选项的值,如果定义了选项的值,提交的时候select的value就是选项的value
selected:无值属性,设置默认选中
<select name="city[]" id="12" size="2" multiple>
<option value="1" selected>上海</option>
<option value="2">北京</option>
<option value="3">广州</option>
</select>