范仁义html+css课程---7、表单
范仁义html+css课程---7、表单
一、总结
一句话总结:
表单标签的话主要掌握form标签、input标签(以及input标签的不同的type值)、select标签、textarea等标签,及这些标签对应的一些属性
1、form标签的常用属性?
action:指定表单的发送地址(服务器地址)
method:表单数据发送至服务器的方法,常用的有两种:get/post
2、form的get提交方式和post提交方式的区别?
get方法提交:数据会附在网址之后主动提交给服务器
post方法提交:数据不会附在网址后,会将数据打包发送给服务器,等候服务器来读取数据进行处理
3、html表单元素中input元素的作用?
用来设置表单中的内容项,比如输入内容的文本框,密码框,选项框,按钮等
4、input标签的type常用类型?
text、password、email、num、checkbox、radio、file、hidden、image、submit、reset 和 button等,默认为 text
5、当input标签的type为radio或checkbox时,指定按钮是否是被选中用什么属性?
checked属性:<input name="gender" type="radio" checked value="男"> 男
6、表单中的隐藏域如何使用?
将input标签的type属性设置为hidden:例如 <input type="hidden" value="666" name="userid">
7、表单元素的readonly属性和disabled属性的作用分别是什么?
readonly属性:只读,不可修改,但是会提交元素数据
disabled属性:只读,不可修改,并且不会提交元素数据
8、如何实现点击label标签 自动将焦点转移到与该标注相关的表单元素上?
label元素的for属性的属性值为相关表单元素的id
<div>
<label for="username">用户名:</label>
<input type="text" required id="username" name="name" placeholder="用戶名">
</div>
9、表单初级验证的常用方法?
1.placeholder:提示语默认显示,当文本框中输入内容时提示语消失
2.required:规定文本框填写内容不能为空,否则不允许用户提交表单
3.pattern:用户输入的内容必须符合正则表达式所指的规则,否则就不能提交表单:如 pattern="^1[358]\d{9}"
二、HTML-表单(非常详细)
博客对应视频课程位置:7、表单(2)
https://fanrenyi.com/video/2/13
表单基本介绍
form元素
- 用来定义一个表单,是建立表单的基础元素,(就类似定义表格的table)
- 表单的其他元素包含在form元素中,其主要子元素有:input/button/select......
form元素的属性
- action:指定表单的发送地址(服务器地址)
- method:表单数据发送至服务器的方法,常用的有两种:get/post
get和post提交的区别
- get方法提交,数据会附在网址之后主动提交给服务器
- post方法提交,数据不会附在网址后,会将数据打包发送给服务器,等候服务器来读取数据进行处理
表单语法
<form method="post"(规定如何发送表单数据 常用值:get|post)
action="result.html">(表示向何处发送表单数据)
<p> 名字:<input name="name" type="text" > </p>
<p> 密码:<input name="pass" type="password" > </p>
<p>
<input type="submit" value="提交"/>
<input type="reset" value="重填“/>
</p>
</form>
经验:在实际网页开发中通常采用post方式提交表单数据
表单元素格式
语法:
<input type="text"(input元素类型)name="fname"(input元素名称)
value="text"(input元素的值)/>
属性 |
说明 |
type |
指定元素的类型。text、password、checkbox、radio、submit、reset、file、hidden、image 和 button,默认为 text |
name |
指定表单元素的名称 |
value |
元素的初始值。type 为 radio时必须指定一个值 |
size |
指定表单元素的初始宽度。当 type 为 text 或 password时,表单元素的大小以字符为单位。对于其他类型,宽度以像素为单位 |
maxlength |
type为text 或 password 时,输入的最大字符数 |
checked |
type为radio或checkbox时,指定按钮是否是被选中 |
表单元素
文本框-语法
<input type="text"(文本框) name="userName"(文本框名称) value="用户名"(文本框初始值) size="30"(文本框长度) maxlength="20"(文本框可输入最多字符) />
密码框-语法
<input type="password "(密码框) name="pass"(密码框的名称) size="20"(密码框的长度) />
单选按钮-语法
<input name="gen" type="radio"(单选按钮框) value="男"(值) checked(单选按钮选中状态) />男
<input name="gen" type="radio" value="女" />女
复选框-语法
<input type="checkbox"(复选框) name="interest" value="sports"(值)/>运动
<input type="checkbox" name="interest" value="talk" checked(复选框选中状态) />聊天
<input type="checkbox" name="interest" value="play"/>玩游戏
列表框-语法
<select(列表框) name="列表名称" size="行数">
<option value="选项的值" selected="selected"(默认选中项)>…</option >
<option(选项) value="选项的值">…</option >
</select>
按钮-语法
<input type="reset" (重置按钮) value="reset按钮"(按钮上显示的文字)>
<input type="submit"(提交按钮) value="submit按钮">
<input type="button"(普通按钮) value="button按钮"/>
图片按钮
<input type="image" src="data:images/login.gif"/(图片路径)>
多行文本域-语法
<textarea(多行文本域) name="showText" cols="x"(显示的列数) rows="y"(显示的行数)>文本内容 </textarea >
文件域-语法
<form action="" method="post" enctype="multipart/form-data"(表单编码属性)>
<p><input type="file"(文件域) name="files" />
<input type="submit" name="upload" value="上传" /></p>
</form>
邮箱-语法
<p>邮箱:<input type="email"(邮箱) name="email"/></p>
<input type="submit"/>
注意:会自动验证Email地址格式是否正确
网址-语法
<p>请输入你的网址:<input type="url"(网址) name="userUrl"/></p>
<input type="submit"/>
注意:会自动验证URL地址格式是否正确
数字-语法
<p>请输入数字:<input type="number"(数字) name="num" min="0"(允许的最小值) max="100"(允许的最大值) step(合法的数字间隔)="10"/></p>
<input type="submit"/>
滑块-语法
<p>请输入数字:<input type="range"(滑块) name="range1" min="0"(允许的最小值) max="10"(允许的最大值) step(合法的数字间隔)="2"/></p>
<input type="submit"/>
搜索框-语法
<p>请输入搜索的关键词:<input type="search"(搜索框) name="sousuo"/></p>
<input type="submit"/>
表单的高级应用
隐藏域-语法
<input type="hidden"(隐藏域) value="666" name="userid">
只读和禁用-语法
<input name="name" type="text" value="张三" readonly(只读文本框)>
<input type="submit " disabled (禁用) value="保存" >
表单元素的标注
1.增强鼠标的可用性
2.自动将焦点转移到与该标注相关的表单元素上
语法
<label for="id"(表单元素的id)>标注的文本</label>
<input type="radio" name="gender" id="male"/(表单元素id)>
表单的初级验证
表单验证的好处
1.减轻服务器的压力
2.保证数据的可行性和安全性
表单初级验证的方法
1.placeholder 2.required 3.pattern
placeholder
1.input类型的文本框提供一种提示(hint)
2.可以描述文本框期待用户输入何种内容
3.提示语默认显示,当文本框中输入内容时提示语消失
4.适合于input标签:text、search、url、email和password等类型
语法:
<input type="search" name="sousuo" placeholder(文本框输入内容提示)="请输入要搜索的关键字"/>
required
1.规定文本框填写内容不能为空,否则不允许用户提交表单
2.适合于input标签:text、search、url、email、password、number、checkbox、radio、file等类型
语法:
<input type="text" name="username" required/(必填项)>
pattern
用户输入的内容必须符合正则表达式所指的规则,否则就不能提交表单
语法:
<input type="text" name="tel" required pattern(验证规则,正则表达式)="^1[358]\d{9}" />
部分资料来源于网络,侵删
三、参考资料
1、input标签详解
input元素
- 用来设置表单中的内容项,比如输入内容的文本框,按钮等
- 不仅可以布置在表单中,也可以在表单之外的元素使用
input元素的属性
- type属性:指定输入内容的类型,默认为text:单行文本框
- name属性:输入内容的识别名称,传递参数时候的参数名称
- value属性:默认值
- maxlength:输入的最大字数
- readonly属性:只读属性,设置内容不可变更,提交时会以前发送至服务器
- disabled属性:设置为不可用(不可操作)
- required属性:设置该内容为必须填写项,否则无法提交
- placeholder属性:设置默认值,当文本框获得焦点时被清空,对text/url/tel/email//password/search有效
- autofocus属性:自动获得焦点
- accesskey属性:指定快捷键windows中,指定快捷键后,按Alt+“快捷键”,便会获得焦点
- tabindex属性:指定按Tab键时,项目间的移动顺序
- autocomplet属性: HTML5新增属性属性值为on/off,定义是否开启浏览器自动记忆功能
input的其他属性还有很多,我们放在案例中逐步讲解,暂时先了解这三个
type属性值
- 默认为text
- password:密码状态输入
- submit:提交按钮,点击将数据发送至服务器
- reset:重置按钮
- button:普通按钮
- imge:图片式提交按钮
- hidden;隐藏字段
- 该内容不会显示页面上
- 一般为网页设计者设置的变量数据,提交时,隐藏内容会提交到服务器
- 关于hidden暂时只了解这么多,以后用到的时候再详细说
- email:表示要输入一个电子邮箱
- 这是HTML5新增的元素
- 他会对输入内容进行验证,在之前需要编写大段的JS代码来进行这项工作
- 浏览器版本比较低的话有可能不支持,不同的浏览器提示的效果可能有差异
- url:表示要输入一个网址
- 这是HTML5新增的
- 他会对输入内容进行验证,在之前需要编写大段的JS代码来进行这项工作
- 浏览器版本比较低的话有可能不支持,不同的浏览器提示的效果可能有差异
- tel:表示输入的内容是一个电话号码
- 这是HTML5新增的
- 他不会对输入内容进行验证
- 浏览器版本比较低的话有可能不支持,不同的浏览器提示的效果可能有差异
- number:
- 这是HTML5新增的
- 可以配合input的max/min/step/value规定允许输入的最大值/最小值/步长/默认值
- 浏览器版本比较低的话有可能不支持,不同的浏览器提示的效果可能有差异
- range(活动条)
- 这是HTML5新增的;与number类型类似,也是表示一定范围的数值输入,但是以一个活动条的状态显示
- 可以配合input的max/min/step/value规定的最大值/最小值/步长/默认值
- 浏览器版本比较低的话有可能不支持,不同的浏览器提示的效果可能有差异
- 时间类
- 这是HTML5新增的;
- 包括datetime/datetime-local/date/month/week/time
- 浏览器版本比较低的话有可能不支持,不同的浏览器支持程度不同
- color
- 这是HTML5新增的;
- 可以建立一个颜色的选择输入框
- 浏览器版本比较低的话有可能不支持,不同的浏览器支持程度不同
- seacrch
- 这是HTML5新增的;
- 用于建立一个搜索框,用来供用户输入搜素的关键词
- 浏览器版本比较低的话有可能不支持,不同的浏览器支持程度不同
- file
- 用来创建一个文件选取的输入框
- 可通过accept属性规定选取文件的类型,比如图片/视频
- multipe属性可以设定一次允许选择多个文件
- checkbox/复选框
- 用来创建一个复选框(可以多项选择)
- 通过checked属性可讲某个选项设为默认的选取状态,再次单击取消选取
- radio/单选框
- 用来创建一个单选框(可以多项选择)
- 通过checked属性可讲某个选项设为默认的选取状态,再次单击取消选取
- 必须将同一组单选项设置一个相同的name属性值
四、课程代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>登录的表单实例</title>
</head>
<body>
<div>
<form action="action.html" method="post">
<div>
<label for="user_phone">手机号码:</label>
<input id="user_phone" name="user_phone" type="text" pattern="^1[358]\d{9}" placeholder="大陆手机号码">
</div>
<br>
<div>
密码:<input name="password" type="password" placeholder="密码只能填写6位">
</div>
<br>
<div>
<input name="remember_me" checked type="checkbox">记住我
</div>
<br>
<div>
<input name="gender" checked type="radio" value="nan"> 男
<input name="gender" type="radio" value="nv"> 女
</div>
<br>
<div>
<div>爱好</div>
<input name="hobby[]" type="checkbox" value="hobby1">篮球
<input name="hobby[]" type="checkbox" value="hobby2">足球
<input checked name="hobby[]" type="checkbox" value="hobby3">旅游
<input checked name="hobby[]" type="checkbox" value="hobby4">挖掘机
</div>
<br>
<div>
<div>班级</div>
<select name="class" id="">
<option value="class1">班级一</option>
<option value="class2">班级二</option>
<option selected="selected" value="class3">班级三</option>
</select>
</div>
<br>
<div>
<div>个人简介</div>
<textarea name="profile" id="" cols="60" rows="5">textarea设置默认值</textarea>
</div>
<br>
<div>
<div>个人图片</div>
<input name="user_img" type="file">
</div>
<br>
<div>
<div>邮箱</div>
<input name="email" type="email">
</div>
<div>
<div>网址</div>
<input name="url" type="url">
</div>
<div>
<div>年龄</div>
<input name="age" type="number" min="0" max="150" step="12">
</div>
<div>
<div>滑块</div>
<input name="range1" type="range" min="2" max="150" step="30">
</div>
<div>
<div>搜索</div>
<input name="search11" type="search">
</div>
<br>
<div>
<div>隐藏域</div>
<input type="hidden" value="666" name="userid">
</div>
<div>
<input type="submit" value="登录">
<input type="reset" value="重置">
<input type="button" value="普通按钮">
<input type="image" src="../img/btn.jpg" style="width: 100px;">
</div>
</form>
</div>
</body>
</html>
范仁义html+css课程---7、表单的更多相关文章
- 范仁义html+css课程---10、其它标签
范仁义html+css课程---10.其它标签 一.总结 一句话总结: 了解iframe.Figure与Figcaption.address.progress.meter.datalist.field ...
- 范仁义html+css课程---9、video、audio、canvas和svg元素略讲
范仁义html+css课程---9.video.audio.canvas和svg元素略讲 一.总结 一句话总结: video:HTML5视频标签. audio:html5音频标签. canvas:绘制 ...
- 范仁义html+css课程---1、html基本结构
范仁义html+css课程---1.html基本结构 一.总结 一句话总结: html标签中包含head标签和body标签,head标签里面主要写用户不可见的内容,比如字符集编码,body标签里面主要 ...
- 范仁义html+css课程---11、html补充知识
范仁义html+css课程---11.html补充知识 一.总结 一句话总结: 小于号(<):< 大于号(>):> 空格: 二.html 字符实体 1.小于号(<)和大 ...
- 范仁义html+css课程---6、表格
范仁义html+css课程---6.表格 一.总结 一句话总结: 表格中最常用的元素就是table.tr.td.th,还有语义化的thead.tbody.tfoot标签 1.表格构成三个基本要素? t ...
- 范仁义html+css课程---4、文本标签
范仁义html+css课程---4.文本标签 一.总结 一句话总结: 文本标签大致掌握一下,做到它站在你对面的时候最好认得,认不得也没关系,直接百度 1.ins标签.u标签和del标签 作用? ins ...
- 范仁义html+css课程---2、html常用标签
范仁义html+css课程---2.html常用标签 一.总结 一句话总结: html常用的标签有 标题标签.div.span.p.hr.br标签 等 1.html中的标题标签有哪些? <h1& ...
- 范仁义html+css课程---8、新元素布局
范仁义html+css课程---8.新元素布局 一.总结 一句话总结: 推荐用新标签(语义化的标签)来布局:header(头部),footer(尾部),aside(侧边栏),nav(导航),artic ...
- 范仁义html+css课程---5、列表
范仁义html+css课程---5.列表 一.总结 一句话总结: 学会基本的使用有序列表.无序列表.定义列表,设置样式的话尽量通过css而不是属性 1.无序列表基本形式(实例)? ul标签包裹li标签 ...
随机推荐
- KVM on CubieTruck 原理以及网络性能相关思考
1.virtio框架包括哪些? (1)virtio:面向guest驱动的API接口,它在概念上将前端驱动附加到后端驱动,具体实现位于driver/virtio/virtio.c (2)Transpor ...
- Hive Lateral View
一.简介 1.Lateral View 用于和UDTF函数[explode,split]结合来使用. 2.首先通过UDTF函数将数据拆分成多行,再将多行结果组合成一个支持别名的虚拟表. 3.主要解决在 ...
- MySQL MHA--在线主库切换(Online master switch)
在线主库切换(Online master switch)条件 1.所有节点正常运行,无论时原主还是新主或者其他从库 if ( $#dead_servers >= 0 ) { $log->e ...
- 推荐一个Web漏洞靶场
https://github.com/zhuifengshaonianhanlu/pikachu 暂时先空着 安装好是这样的 博主先去玩了,回来再写博客,2333
- LeetCode初级算法--其他01:位1的个数
LeetCode初级算法--其他01:位1的个数 搜索微信公众号:'AI-ming3526'或者'计算机视觉这件小事' 获取更多算法.机器学习干货 csdn:https://blog.csdn.net ...
- Codeforces Round #560 (Div. 3) Microtransactions
Codeforces Round #560 (Div. 3) F2. Microtransactions (hard version) 题意: 现在有一个人他每天早上获得1块钱,现在有\(n\)种商品 ...
- pageContext 和 config 内置对象
forword("目标页面") : 使当前页面跳转到另一个目标页面 include("目标页面") ;使当前页面包含另一个页面的信息
- 如何打开.ipynb文件
1,GitHub 中可以直接打开 .ipynb 文件. 2,可以把 .ipynb 文件对应的下载链接复制到 https://nbviewer.jupyter.org/ 中查看.
- B/S结构与C/S结构测试区别
B/S结构与C/S结构 B/S结构是浏览器/服务器结构,应用软件的业务逻辑完全在服务器端实现,客户端只需要通过浏览器完成浏览.查询.输入等简单操作. C/S结构是客户端/浏览器结构,客户端具有一定的数 ...
- webuploader解决大文件断点续传
文件夹数据库处理逻辑 public class DbFolder { JSONObject root; public DbFolder() { this.root = new JSONObject() ...