表单
表单元素
<form>
元素
- 表示设置表单
- action属性 – 设置接收表单的指定服务器端的地址路径
method属性 – 表示发送给服务器端的方式
- get属性值(默认值) – 将提交的数据添加到地址栏中进行提交(有限制,不安全)
- post属性值 – 将提交的数据绑定在表单中进行提交(没有限制,相对安全)
- name属性 – 提交表单时要设置name属性,不然无法提交表单
<body>
<!--
form元素 - 表示设置表单
* action属性 - 设置接收表单的指定服务器端的地址路径
* method属性 - 表示发送给服务器端的方式
* get属性值(默认值) - 将提交的数据添加到地址栏中进行提交(有限制,不安全)
* post属性值 - 将提交的数据绑定在表单中进行提交(没有限制,相对安全)
* name属性 - 提交表单时要设置name属性,不然无法提交表单
-->
<form action="#" method="post">
<input type="text" name="txt">
<input type="submit">
</form>
</body>
输入框
<input>
元素
- 表示设置表单中的搜索框
type属性 – 表示定义什么类型的输入框
- text属性值 – 文本框
- password属性值 – 密码框
- email属性值 – 邮件输入框(会有格式要求)
- url属性值 – 网址输入框(会有格式要求)
- number属性值 – 定义数字控件(只能输入数字)
<body>
<!--
input元素 - 表示设置表单中的搜索框
* type属性 - 表示定义什么类型的输入框
* text属性值 - 文本框
* password属性值 - 密码框
* email属性值 - 邮件输入框(会有格式要求)
* url属性值 - 网址输入框(会有格式要求)
* number属性值 - 定义数字控件(只能输入数字)
* search - 搜索框(在移动端浏览器有效)
* tel - 电话框(在移动端浏览器有效)
-->
<form action="#">
<input type="text">
<input type="password">
<input type="email">
<input type="url">
<input type="number">
<input type="search">
<input type="tel">
</form>
</body>
输入框的属性
- value属性 – 可以用来 设置 或 获取 输入框中的数据内容
- placeholder属性 – 可以提供使用输入框的相关信息
- autofocus属性 – 可以自动获取焦点,不用点击输入框就可以先选择输入框
- disabled属性 – 表示当前输入框不可用
- readonly属性 – 表示当前输入框只能读,不能输入内容
<form action="#">
<!--
value属性 - 可以用来 设置 或 获取 输入框中的数据内容
placeholder属性 - 可以提供使用输入框的相关信息
autofocus属性 - 可以自动获取焦点,不用点击输入框就可以先选择输入框
disabled属性 - 表示当前输入框不可用
readonly属性 - 表示当前输入框只能读,不能输入内容
-->
<input type="text" value="输入内容">
<input type="text" placeholder="输入用户名">
<input type="text" autofocus>
<input type="text" disabled>
<input type="text" readonly>
</form>
</body>
表单控件
<input>
元素 – 可以设置表单中的控件
- type属性 – 定义控件的类型
- date属性值 – 定义日期控件
- month属性值 – 定义月份控件
- week属性值 – 定义周期控件
- color属性值 – 定义选择颜色的控件
<body>
<form action="#">
<!--
<input>元素 - 可以设置表单中的控件
* type属性 - 定义控件的类型
* date属性值 - 定义日期控件
* month属性值 - 定义月份控件
* week属性值 - 定义周期控件
* color属性值 - 定义选择颜色的控件
* rang属性值 - 定义滑动条控件
-->
<input type="date">
<input type="month">
<input type="week">
<input type="time">
<input type="color">
<input type="range">
</form>
</body>
按钮
<input>
元素 – 可以设置表单中按钮,用于实现提交表单、或其他功能
- type属性 – 设置按钮的类型
- submit属性值 – 设置提交按钮(提交表单)
- reset属性值 – 设置重置按钮(重置输入框中的内容)
- button属性值 – 设置普通按钮
<button>
元素 – 表示设置按钮
- 该元素不是表单中的组件
- 该元素如果被使用在表单中,也具有提交表单的功能
<body>
<form action="#">
<!--
<input>元素 - 可以设置表单中按钮,用于实现提交表单、或其他功能
* type属性 - 设置按钮的类型
* submit属性值 - 设置提交按钮(提交表单)
* reset属性值 - 设置重置按钮(重置输入框中的内容)
* button属性值 - 设置普通按钮
* 普通按钮没有特殊显示,可以通过value属性来设置
-->
<input type="submit">
<input type="reset">
<input type="button" value="按钮">
<!--
<button>元素 - 表示设置按钮
* 该元素不是表单中的组件
* 该元素如果被使用在表单中,也具有提交表单的功能
-->
<button>按钮</button>
</form>
</body>
图像组件
<input>
元素 – 可以定义图像组件
- type属性 – 设置图像组件
- image属性值 – 定义图像组件
- src属性 – 引入图像的路径
- 通过图像组件引入的图片具有提交表单的作用
<body>
<form action="#">
<!--
<input>元素 - 可以定义图像组件
* type属性 - 设置图像组件
* image属性值 - 定义图像组件
* src属性 - 引入图像的路径
* 通过图像组件引入的图片具有提交表单的作用
-->
<input type="image" src="imgs/180731.jpg">
</form>
</body>
单选框和多选框
- 单选框 – type属性 的 radio属性值 表示设置单选框
- 多选框 – type属性 的 checkbox属性值 表示设置多选框
- 通过 name属性 将多个多选框分为一组
- checked属性 – 表示默认被选择项
<body>
<form action="#">
<!--
单选框 - type属性 的 radio属性值 表示设置单选框
* 通过 name属性 将多个单选框分为一组
* checked属性 - 表示默认被选择项
-->
<input type="radio" name="input-rad" checked>我是谁
<input type="radio" name="input-rad">我在那
<input type="radio" name="input-rad">我要干啥
<br>
<!--
多选框 - type属性 的 checkbox属性值 表示设置多选框
* 通过 name属性 将多个多选框分为一组
* checked属性 - 表示默认被选择项
-->
<input type="checkbox" name="inout-che">手机
<input type="checkbox" name="inout-che" checked>电脑
<input type="checkbox" name="inout-che">游戏机
</form>
</body>
文件域
文件域 – 表示允许用户在页面中打开选择本地文件、上传本地文件
- accept属性 – 设置当前接收文件的类型
- multiple属性 – 可以同时接收多个文件
- enctype属性 – 设置提交表单时的方式
- application/x-www-form-urlencoded属性值(默认值) – 表示以数据的方式提交表单
- multipart/form-data属性值 – 表示将表单以文件的方式提交(在文件域中使用时可以实现文件上传)
- 实现文件上传
- enctype属性的属性值只能为 multipart/form-data
- method属性的属性值只能为 post
<body>
<!--
文件域
* 允许用户在页面中打开选择本地文件、上传本地文件
* accept属性 - 设置当前接收文件的类型
* multiple属性 - 可以同时接收多个文件
* enctype属性 - 设置提交表单时的
方式
* application/x-www-form-urlencoded属性值(默认值) - 表示以数据的方式提交表单
* multipart/form-data属性值 - 表示将表单以文件的方式提交(在文件域中使用时可以实现文件上传)
* 实现文件上传
* enctype属性的属性值只能为 multipart/form-data
* method属性的属性值只能为 post
-->
<form action="#" method="post" enctype="multipart/form-data">
<input type="file" accept="image/jpeg" multiple>
<input type="submit">
</form>
</body>
文本域和隐藏域
-
<textarea>
元素 – 表示表单中的文本域
- cols属性 – 表示文本域中的列
- rows属性 – 表示文本域中的行
- 隐藏域 – 通过type属性的 hidden属性值设置
- 在页面中没有任何显示效果
<body>
<form action="#">
<!--
textarea元素 - 表示表单中的文本域
* cols属性 - 表示文本域中的列
* rows属性 - 表示文本域中的行
-->
<textarea cols="30" rows="10"></textarea>
<br>
<!--
隐藏域 - 通过type属性的 hidden属性值设置
* 在页面中没有任何显示效果
-->
<input type="hidden">
</form>
</body>
下拉列表
-
<select>
元素 – 表示定义表单中的下拉列表
- multiple属性 – 可以将单选列表变成多选列表
- size属性 – 表示多选列表的显示个数
-
<option>
元素 – 表示下拉列表中的选项
- selected属性 – 表示当前列表中默认被选中的选项
-
<optgroup>
元素 – 另一种多选列表,可以对选项进行分类
<body>
<form action="#">
<!--
select元素 - 表示定义表单中的下拉列表
* multiple属性 - 可以将单选列表变成多选列表
* size属性 - 表示多选列表的显示个数
option元素 - 表示下拉列表中的选项
* selected属性 - 表示当前列表中默认被选中的选项
optgroup元素 - 另一种多选列表,可以对选项进行分类
-->
<!-- 单选列表 -->
<select>
<option selected>手机</option>
<option>电脑</option>
<option>游戏机</option>
</select>
<!-- 多选列表 -->
<select multiple size="3">
<option selected>手机</option>
<option>电脑</option>
<option>游戏机</option>
</select>
<!-- 另一种多选列表 -->
<select multiple>
<optgroup>
<option selected>我是谁</option>
<option>我在那</option>
<option>我要干啥</option>
</optgroup>
<optgroup>
<option selected>你谁呀</option>
<option>你要干啥</option>
<option>站那别动</option>
</optgroup>
</select>
</form>
</body>
组合表单元素
-
<fieldse>
t元素 – 表示对表单中的组件进行分组 -
<legend>
元素 – 表示对分组的组件设置标题 -
<fieldset>
元素 和<legend>
元素 需要配合使用
<body>
<form action="#">
<!--
fieldset元素 - 表示对表单中的组件进行分组
legend元素 - 表示对分组的组件设置标题
* fieldset元素 和 legend元素 需要配合使用
-->
<fieldset>
<legend>查询</legend>
<input type="text">
<input type="submit">
</fieldset>
</form>
</body>
表单验证
表单验证 – 在表单提交前对表单中数据进行验证
- 符合验证 – 提交表单
- 不符合验证 – 给出提示,按条件修改
验证属性
- required属性 – 表示验证当前组件中的内容是否为空
- minlength属性 – 表示当前组件中的内容(文本)最小长度(字或字母的个数)
- maxlength属性 – 表示当前组件中的内容(文本)最大长度(字或字母的个数)
- min属性 – 表示当前组件中的内容是否小于min的值(使用在数字输入框)
- max属性 – 表示当前组件中的内容是否大于min的值(使用在数字输入框)
- step属性 – 表示当前组件中的内容每次增加或减少的数值(使用在数字输入框)
表单中也有一些输入框自带验证效果
- 邮件输入框 – 按照邮箱地址的要求输入
- 网址输入框 – 按照网址的要求输入
- 数字输入框 – 只能输入数字
- 颜色输入框 – 只能规定颜色