8. 表单标签
8.1 为什么需要表单
使用表单的目的是为了收集用户信息,
在我们网页中,我们也需要跟用户进行交互,收集用户资料,此时就需要表单
8.2 表单的组成
在HTML中,一个完整的表单通常由表单域,表单控件(也称为表单元素)和提示信息三个部分组成
8.3 表单域
表单域是一个包含表单元素的区域。
在HTML标签中,<form>标签用于定义表单域,以实现用户信息的收集和传递
< form>会把他范围内的表单元素信息提交给服务器
属性 | 属性值 | 作用 |
---|---|---|
action | url地址 | 用于指定接收并处理表单数据的服务器程序的url地址 |
method | get/post | 用于设置表单数据的提交方式,其取值为get或post |
name | 名称 | 用于指定表单的名称,以区分同一个页面中的多个表单域 |
8.4 表单元素(表单控件)
在表单域中可以定义各种表单元素,这些表单元素就是就是允许用户在表单中输入或者选择的内容控件
input输入表单元素
select下拉表单元素
text文本域元素
8.4.1 input 输入表单元素
input是输入的意思,而在表单元素中,<input>标签是用于收集用户信息
在<input>标签中,包含一个type属性,根据不同的type属性值,输入字段拥有多种形式(可以是文本字段,复选框,掩码后的文本控件,单选按钮,按钮)
<input type="属性值" />
<input/>标签为单表签
type属性设置不同的属性值用来指定不同的控件类型
type属性的属性值及描述如下:
属性值 | 描述 |
---|---|
button | 定义可点击按钮(多数情况下,可用于javascript启动脚本) |
checkbox | 定义复选框 |
file | 定义输入字段和”浏览“按钮,供文件上传。 |
hidden | 定义隐藏的输入字段 |
image | 定义图像形式的提交按钮 |
password | 定义密码字段,该字段中的字符被掩码 |
radio | 定义单选按钮 |
reset | 定义重置按钮,重置按钮会清除表单中的所有数据 |
submit | 定义提交按钮,提交按钮会把表单数据发送的服务器 |
text | 定义单行输入字段,用户可以在其中输入文本。默认宽度为20个字符 |
除了type属性外,<input>标签还有其他很多属性,其常用属性如下:
属性 | 属性值 | 描述 |
---|---|---|
name | 由用户自定义 | 定义input元素的名称 |
value | 由用户自定义 | 规定input元素的值 |
checked | checked | 规定此input元素首次加载时应当被选中 |
maxlength | 正整数 | 规定输入字段中的字符的最大长度 |
name 和 value 是每个表单元素都有的属性值,主要给后台人员使用
name 表单元素的名字,要求 单选按钮和复选框要有相同的name值
checked 属性主要针对于单选按钮和复选框,主要作用一打开页面,就要打开默认选中某个表单元素
maxlength 是用户可以在表单元素输入的最大字符数,一般比较少使用
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>input 表单元素</title>
</head>
<body>
<form action="xxx,php" method="get">
<!-- text 文本框 用户可以里面输入任何文字 -->
用户名:<input type="text" name="username" value="请输入用户名" maxlength="6"><br>
<!-- password 密码框 用户看不见输入的密码 -->
密码:<input type="password" name="pwd"><br>
<!-- radio 单选按钮 可以实现多选 -->
<!-- name 是表单元素的名字 这里性别单选按钮必须有相同的名字name 才可以实现多选1 -->
<!-- 单选按钮和复选框可以设置checked 属性,当页面打开的时候就可以默认选中这个按钮 -->
性别:男<input type="radio" name="sex" value="男">
女<input type="radio" name="sex" value="女"><br>
<!-- checkbox 复选框 可以实现多选-->
爱好: 吃饭<input type="checkbox" name="hoppy" value="吃饭">睡觉<input type="checkbox" name="hoppy" value="吃饭"><br>
<!-- 点击了提交按钮,可以把 表单域 form 里面的表单元素 里面的值 提交给后台服务器 -->
<input type="submit" value="免费注册">
<!-- 重置按钮可以把还原表单元素初始的默认状态 -->
<input type="reset" value="重新填写">
<!-- 普通按钮 button 后期结合js 搭配使用 -->
<input type="button" value="获取验证码"><br>
上传头像:<input type="file">
</form>
</body>
</html>
8.4.2 <label>标签
<label>标签为input元素定义标注(标签)
<label>标签用于绑定一个表单元素,点击<label>标签内文本时,浏览器会自动将焦点(光标)转到或者选择对应的表单元素上,用来增加用户体验。
语法:
核心:<label>标签的for属性应当与相关元素的id属性相同
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>有序列表</title>
</head>
<body>
<label for="text">用户名:</label><input type="text" id="text"><br>
<input type="radio" id="nan"> <label for="nan">男</label>
<input type="radio" id="nv"> <label for="nv">女</label>
</body>
</html>
8.4.3 <select>表单元素
在页面中,如果有多个选择让用户选择,并且想要节约页面的空间时,我们可以使用<select>标签控件定义下拉列表
语法:
< select> 中至少包含一对<option>
在< select>中定义selected=”selected“时,当前项即为默认选中项
8.4.4 <textarea>表单元素
使用场景:当用户输入内容较多的情况下,我们就不能使用文本框表单了。此时我们可以使用<textarea>标签
在表单元素中,<textarea>标签是用于定义多行文本输入的控件
使用多行文本输入控件,可以输入更多的文字,该控件常见于留言板,评论
语法:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>textarea 文本域</title>
</head>
<body>
<form action="">
今日反馈:
<textarea name="" id="" cols="30" rows="10">55555555555555555555555</textarea>
</form>
</body>
</html>
通过< textarea>标签可以轻松地创建多行文本输入框
cols=“每行中的字符数” row=“显示的行数”,我们在实际开发中不会使用,都是css来改变大小