表单标签
一、为什么需要表单
使用表单目的是为了收集用户信息。在我们网页中, 我们也需要跟用户进行交互,收集用户资料,此时就需要表单。
二、表单的组成
在 HTML 中,一个完整的表单通常由表单域、表单控件(也称为表单元素)和 提示信息3个部分构成。
2.1 表单域
-
表单域是一个包含表单元素的区域。
-
在 HTML 标签中, <form> 标签用于定义表单域,以实现用户信息的收集和传递。
-
form标签是一个块级元素,以
结尾,它能够包含input、textarea、select等元素。 -
<form>会把它范围内的表单元素信息提交给服务器
<form action=“url地址” method=“提交方式” name=“表单域名称"> 各种表单元素控件 </form>
-
<form>标签的常用属性
属性 属性值 作用 action URL地址 用于指定接收并处理表单数据的服务器程序的url地址 method get/post 用于设置表单数据的提交方式,其取值为get或者post;默认为get name 名字 用于指定表单的名称,以区别同一个页面中的多个表单域 注:get与post的区别。get请求的特点:(1)浏览器地址栏中的地址是:URL+?+请求参数,请求参数的格式是:name=value&name=value 如:(http://localhost:8080/?method=login&username=zhang&password=123&sex=boy&province=hunan&feedback=CSDN)(2)不安全 (3)它有数据长度的限制 post请求的特点:(1)浏览器地址栏中只有url也就是action的值 (2)相较于get请求安全 (3)理论上没有数据长度限制
<form action="http://localhost:8080" method="get" name="name1"> <input type="hidden" name="method" value="login"> <label for="user"> 用户名:</label> <input type="text" id="user" name="username" > <br> 密码:<input type="password" name="password"><br> 性别:男 <input type="radio" name="sex" value="boy"> 女<input type="radio" name="sex" value="girl"><br> 籍贯: <select name="province"> <option>山东</option> <option>北京</option> <option selected="selected" value="hunan">湖南</option> </select><br> 反馈:<br><textarea name="feedback"></textarea> <br> <input type="submit" value="提交"> </form>
2.2 表单控件(表单元素)
在表单域中可以定义各种表单元素,这些表单元素就是允许用户在表单中输入或者选择的内容控件。
- input输入表单元素
- select下拉表单元素
- textarea 文本域元素
2.2.1 <input> 表单元素
-
在表单元素中 <input> 标签用于收集用户信息
-
<input/> 标签为单标签
-
在 <input> 标签中,包含一个 type 属性,根据不同的 type 属性值,输入字段拥有很多种形式(可以是文本字段、复选框、掩码后的文本控件、单选按钮、按钮等)
<input type="属性值" />
type 属性的属性值及其描述如下:
注:表单提交时,数据没有发送给服务器的三种情况
- 表单项没有name属性值
- 单选、复选(下拉列表中的option标签)都需要添加value属性,以便发给服务器
- 表单项不在form标签中
-
input标签的其他属性
-
name 和value 是每个表单元素都有的属性值,主要给后台人员使用.
用户名: <input type="text" value="请输入用户名" name="username" />
-
name 表单元素的名字, 要求 单选按钮和复选框要有相同的name值.
<input type="radio" name="sex" />男 <input type="radio" name="sex" />女
-
checked属性主要针对于单选按钮和复选框, 主要作用一打开页面,就要可以默认选中某个表单元素.
性 别: <input type="radio" name="sex" value="男" checked="checked" />男 <input type="radio" name="sex" value="女" />女
-
maxlength 是用户可以在表单元素输入的最大字符数, 一般较少使用.
-
2.2.2 <label> 标签
-
<label> 标签为 input 元素定义标注(标签)。
-
<label> 标签用于绑定一个表单元素, 当点击<label> 标签内的文本时,浏览器就会自动将焦点(光标)转到或者选择对应的表单元素上,用来增加用户体验
-
语法:
<label for="sex">男</label> <input type="radio" name="sex" id="sex" />
注:<label> 标签的 for 属性应当与相关元素的 id 属性相同。
2.2.3 <select> 表单元素
-
使用场景: 在页面中,如果有多个选项让用户选择,并且想要节约页面空间时,我们可以使用<select>标签控件定义下拉列表。
-
语法:
<select> <option>选项1</option> <option>选项2</option> <option>选项3</option> ... </select>
注:1.<select> 中至少包含一对<option> 。
2.在<option> 中定义 selected =“ selected " 时,当前项即为默认选中项。
2.2.4 <textarea> 表单元素
-
使用场景: 当用户输入内容较多的情况下,我们就不能使用文本框表单了,此时我们可以使用 <textarea> 标签。
-
在表单元素中,<textarea> 标签是用于定义多行文本输入的控件。
-
使用多行文本输入控件,可以输入更多的文字,该控件常见于留言板,评论。
-
语法:
<textarea rows="3" cols="20"> 文本内容 </textarea>
注:1.通过 <textarea> 标签可以轻松地创建多行文本输入框
2.cols=“每行中的字符数” ,rows=“显示的行数”
-
综合运用示例:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>表单标签</title> </head> <body> <form action="" method="POST" name="name1"> <label for="user"> 用户名:</label> <input type="text" id="user"> <br> 密码:<input type="password"><br> 性别:男 <input type="radio" name="sex"> 女<input type="radio" name="sex"><br> 籍贯: <select> <option>山东</option> <option>北京</option> <option selected="selected">湖南</option> </select><br> 反馈:<br><textarea></textarea> <br> <input type="submit" value="提交"> </form> </body> </html>