表单的作用:收集用户信息
1.表单域/表单框
标签名称:form 没有实际含义 就是一个大盒子为了收集用户信息进行提交保存起来
属性
- action 表示接后台地址
- name 表示表单的名称(了解)
- method 表示与后台交互的方法 GET/POST
- 表示与后台做数据交互
- get请求的时候 参数会显示在地址栏上 post不会
- post相对来说比get安全(前端是没有绝对安全的)
2.表单控件
标签名称: input 单标签
属性
① 了解
- name 表单控件的名称(了解)
- size 表示表单控件的长度(字符数)
- maxlength 最大长度(手机号码)
② 重要
- type 类型 控制当前表单控件的作用 默认是文本输入框 密码框、单选框、多选框、提交按钮、重置按钮
- value 价值 表示提示文本 跟随不同的type属性值 作用发生不同的改变。.
<body>
<form action="php.php" name="个人相亲表">
<input type="text" maxlength="11">
</form>
</body>
效果图:
表单中重要的属性设置
input中的type和value的使用(HTML4)
- type的默认值是text 表示文本输入框 value是提示文本 用户输入的时候需要手动的删除文本提示
- password 密码框 黑色的实心圆 value是占位置的(HTML5版本中新增了一个属性 placeholder占位符)
- radio 单选按钮 设置name属性值 属性值相同的即可
- checkbox 多选按钮
功能按钮
- submit 提交 使用value (必须放在form表单框中) ?表示后面接参数
- reset 重置 点击可以清空当前表单控件中所有内容 (必须放在form表单框中)
特殊的按钮:空按钮
- 第一种 type的属性值button 需要绑定js事件
- 第二种 button标签 默认会提交刷新页面
高级用法
1.下拉列表/菜单 select>option
2.多行文本域 textarea 建议/意见 禁止用户拖拽 设置css属性 resize:none
3.上传文件 type的属性值 file文件类型
4.隐藏标签 type的属性值 hidden隐藏
表单标签
- fieldset 表单框 表单字段集 和form作用相似
- legend 字段级标题
- label 信息提示标签 绑定关系 性别的文字也可以点击进行切换
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<input type="color">
<input type="date">
<input type="time">
<input type="number" name="price">
<input id="avatar" type="file" style="display: none;">
<label for="avatar">
<!-- <img src="./abc.png" alt=""> -->
</label>
<label for="select">选择</label>
<input type="checkbox" id="select">
<form action="">
<!-- name 属性表示提交的时候提交我自己 -->
<!-- 提交格式叫做 查询字符串格式(query string) 字段名=值 -->
<!-- name 属性的值就是字段名, 用户书写的内容就是 值 -->
<label for="u">用户名:</label>
<!-- 关掉自动补全 -->
<!-- <input id="u" type="text" name="username" autocomplete="off"> <br> -->
<!-- 开启自动获取焦点 -->
<input id="u" type="text" autofocus name="username" autocomplete="off"> <br>
<label>
密码: <input type="text" autofocus> <br>
</label>
<!-- <input type="submit"> -->
<!-- <input type="button" value="按钮"> -->
<!-- 因为在 form 标签内, 所以是 提交按钮 -->
<!-- <button>按钮</button> -->
<button type="button">按钮</button>
</form>
<!-- type=file 是文件选择 -->
<!-- 默认只能选择一个文件 -->
<!-- 当 type=file 标签有了 multiple 属性以后, 可以进行多文件选择 -->
<!-- multiple 是一个布尔类型属性, 只要有属性名就够了 -->
<input type="file" multiple>
<!-- label 标签的两种使用方式 -->
<!-- 方式 1 -->
<!-- label 标签和 for 属性和 input 标签的 id 属性配套 -->
<!-- 方式 2 -->
<!-- label 标签包裹 input 标签 -->
<!-- select -->
<select>
<!-- 北京: 表示的是展示在页面上的值 -->
<!-- bj: 是当你选中这一项的时候, select 标签的 选中值 -->
<option value="bj">北京</option>
<option value="sh">上海</option>
<option value="sz" selected>深圳</option>
<option value="gz">广州</option>
<option value="cx">曹县</option>
</select>
<select multiple>
<option value="bj">北京</option>
<option value="sh" selected>上海</option>
<option value="sz">深圳</option>
<option value="gz" selected>广州</option>
<option value="cx">曹县</option>
</select>
<textarea name="" id="" cols="30" rows="10"></textarea>
</body>
</html>
新增的标签:
块元素
header===可以写一些头部区域
footer===写页面的尾部区域
nav===写导航区域
section===类似于div,用来划分板块的
main====一般是用来划分页面的主要内容区域的
article====一般可以用来写页面的文章区域
aside=====侧边栏,一般可以划分侧边栏区域
figure标签一个会结合figcaption标签一起使用,类似于自定义列表,可以用来写一些图文混排效果
figcaption===一般是用来写解释性文字的
hgroup====一般可以用来写标题组
行内:(以下的标签都有可能会出现兼容问题)
mark====标记标签,自带黄颜色的背景色
time====时间标签,一般里面可以写一些时间,比如新闻条后面的时间
dialog====可以用来写一些对话框或者弹框之类的效果
embed:定义外部的可交互的内容或插件、比如flash
媒体标签
视频标签 video
src属性:视频的路径
controls属性===播放控件
autoplay属性===自动播放,要想自动播放,在谷歌里面必须要静音才可以
muted===静音
loop===循环播放
允许调整宽度和高度(可以在标签上写宽度和高度属性,也可以通过css调整)
poster===封面图
音频标签 audio
属性:
controls===播放控件
src==视屏的地址
autoplay==自动播放,要想自动播放,
loop====循环播放
媒体标签的第二种写法
这种写法是为了解决浏览器的兼容问题的,因为有些浏览器可能不支持某一种视频格式,所以我们可以在source里写很多的视频格式供浏览器选择。
视屏标签
<video controls>
<source src="音视频/喜洋洋.mp4" type="video/mp4">
<source src="音视频/喜洋洋.ogg" type="video/ogg">
<source src="音视频/喜洋洋.webm" type="video/webm">
</video>
音频标签
<audio controls>
<source src="音视频/周杰伦 - 告白气球.flac" type="audio/flac">
<source src="音视频/周杰伦 - 告白气球.mp3" type="audio/mp3">
<source src="音视频/周杰伦 - 告白气球.flac" type="audio/flac">
<source src="音视频/周杰伦 - 告白气球.flac" type="audio/flac">
<source src="音视频/周杰伦 - 告白气球.flac" type="audio/flac">
</audio>
新增的type属性值
1.<input type="email">要求用户输入的内容必须符合邮箱的格式,如果不符合就提交不上
2.<input type="url"> 要求用户输入的内容符合网址格式
3.<input type="number"> 要求用户输入的内容必须是数字
4.<input type="range"> 会生成一个滑动条
5.<input type="search"> 会产生一个有搜索意义的表单,比普通框多一个关闭按钮
6. <input type="color"> 会产生一个颜色选择框
以下有很大的兼容问题
7.<input type="time"> 会产生一个可以选择时和分的框
8.<input type="month"> 会产生一个可以选择年和月的框
9.<input type="week"> 会产生一个可以选择一年当中的第几周的框
10.<input type="datetime-local"> 可以选择到年月日 时分
` 11.<input type="date"> 可以选择到年月日
新增的表单属性:
1.required:必填项,如果为空则不能提交
2.可以用在number框和range框
取值:
① min===最小值
②max===最大值
③step===步长
3.placeholder:文本框默认提示信息
4.autofocus:自动聚焦,一个页面只能有一个
5.autocomplete:是否自动提示信息
取值:
①on===开启
② off===关闭
注意:要结合name属性和提交按钮一起才能看到效果
例如:<input type="text" required autocomplete="on" name="username111" placeholder="请输入。。。">
6.pattern:正则表达式(可以自己写一些规则)
<input type="text" pattern="[a-z]{3}">===这句话的意思要求用户输入的内容必须是a-z之间的必须是3个
7.multiple===可以实现多文件上传
8.novalidate:取消验证===写在form上的属性
9.list属性 必须结合datalist标签一起使用,可以模拟下拉菜单的效果
把datalist的id名字要给到list属性,只要这样才能让2个标签绑定在一起。
<datalist id="shuju">
<option value="京东" label="http://jingdong.com"></option>
<option value="小米"></option>
<option value="淘宝"></option>
<option value="拼多多"></option>
<option value="京东1"></option>
<option value="京东2"></option>
<option value="京东3"></option>
</datalist>