HTML5系列:HTML5表单
1. input元素新增类型
url类型
url类型的input元素是一种用来输入url的文本框,提交时如果该文本框中内容不是url格式,则不允许提交。
<input type="url" />
email类型
email类型的input元素是用来输入email的文本框,具有一个multiple属性允许在文本框中输入一串以逗号分隔的email地址。
<input type="email" multiple />
date类型
date类型的input元素用来输入日期的文本框。
<input type="date" value="2015-04-19" />
time类型
time类型的input元素是用来输入时间的文本框。
<input type="time" value="00:19" />
month类型
month类型的input元素用来输入月份的文本框。
<input type="month" value="2015-04" />
week类型
week类型的input元素用来输入周号的文本框。
<input type="week" value="2015-W20" />
number类型
number类型input元素是用来输入数字的文本框,在提交时会检查其中的内容是否为数字,具有min、max及step属性。
<input type="number" min="1" max="100" step="5" />
range类型
range类型的input元素是只允许输入一段范围内数值的文本框,具有min、max及step属性。
<input type="range" min="0" max="100" step="1" value="0" />
2. input元素新增属性
autofocus属性
autofocus属性是一个Boolean值,在页面加载完成后,input自动获取焦点。
<input type="text" autofocus />
pattern属性
pattern是元素的验证属性,使用正则表达式验证文本输入框中的内容。
<input type="text" pattern="^[a-zA-Z]\w{5,7}$" />
placeholder属性
input元素的placeholder属性为占位属性,显示在输入框中的提示信息,当输入框中输入内容时,该提示信息自动消失;当输入框内容为空时,提示信息重新显示。
<input type="text" placeholder="请输入" />
required属性
input元素required属性用于校验输入内容是否为空。
<input type="text" required />
list属性
input元素list属性的值为某个datalist元素的id,类似于选择框(<select>),当用户想要设置的值不在选择列表之内时,允许自行输入。
<input type="text" list="weekdays" />
<datalist id="weekdays">
<option value="Sunday">Sunday</option>
<option value="Monday">Monday</option>
<option value="Tuesday">Tuesday</option>
<option value="Wednesday">Wednesday</option>
<option value="Thursday">Thursday</option>
<option value="Friday">Friday</option>
<option value="Saturday">Saturday</option>
</datalist>
autocomplete属性
input元素autocomplete属性用于自动完成功能,autocomplete属性可以指定“on”、“off”值。
<input type="text" autocomplete="on" list="weekdays" />
<datalist id="weekdays">
<option value="Sunday">Sunday</option>
<option value="Monday">Monday</option>
<option value="Tuesday">Tuesday</option>
<option value="Wednesday">Wednesday</option>
<option value="Thursday">Thursday</option>
<option value="Friday">Friday</option>
<option value="Saturday">Saturday</option>
</datalist>
示例中使用datalist元素中数据作为候补输入的数据在文本框中自动显示。
formnovalidate属性
input元素formnovalidate属性用于设置在表单中不进行验证。
<input type="number" formnovalidate />
3. 新增表单元素
3.1 datalist元素
datalist元素用于附中表单中文本框的数据输入。datalist元素本身是隐藏的,与表单文本框的“list”属性绑定,“list”属性值为datalist元素的ID。
<input type="text"list="weekdays" />
<datalist id="weekdays">
<option value="Sunday">Sunday</option>
<option value="Monday">Monday</option>
<option value="Tuesday">Tuesday</option>
<option value="Wednesday">Wednesday</option>
<option value="Thursday">Thursday</option>
<option value="Friday">Friday</option>
<option value="Saturday">Saturday</option>
</datalist>
3.2 output元素
output元素必须从属于某个form,用于在页面中显示各种不同类型表单元素的内容。output元素的“onFormInput”事件,在表单输入框输入内容时触发该事件。
<form>
<input id="txtNumber1" type="number" /> *
<input id="txtNumber2" type="number" /> =
<output onforminput="value = txtNumber1.value * txtNumber2.value"></output>
</form>
4. 表单验证
4.1 checkValidity显示验证
表单中的各元素可以利用pattern与required属性验证元素内容的有效性,每个元素都可以通过checkValidity(),校验本身是否与验证条件匹配。如果一致,返回true,否则返回false。
<!DOCTYPE html> <html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Index</title>
<script type="text/javascript">
function Check() {
var email = document.getElementById("txtEmail");
if (email.value == "") {
alert("Email不能为空!");
return false;
} else if (!email.checkValidity()) {
alert("Email格式错误!");
return false;
} else {
alert("Email输入正确!");
return true;
}
}
</script>
</head>
<body>
<form id="form1" onsubmit="return Check();">
<input id="txtEmail" type="email" />
<input type="submit" value="Submit" />
</form>
</body>
</html>
4.2 取消验证
取消表单验证的两种常用方法:
(1)利用form元素的novalidate属性,关闭整个表单的验证;
(2)利用input元素或submit元素的formnovalidate属性,让表单对单个input元素取消验证。
<form novalidate></form>
<input type="text" formnovalidate />
4.3 setCustomValidity自定义错误信息
在表单与相应规则验证时,由于使用的是系统内置的验证方法,因此在出错提示也是由系统自带的。修改验证出错信息内容调用元素或表单的setCustomValidity()方法。
<!DOCTYPE html> <html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Index</title>
<script type="text/javascript">
function Check() {
var email = document.getElementById("txtEmail");
if (email.value == "") {
alert("Email不能为空!");
return false;
} else if (!email.checkValidity()) {
email.setCustomValidity("Email格式错误!");
return false;
} else {
alert("Email输入正确!");
return true;
}
}
</script>
</head>
<body>
<form id="form1" onsubmit="return Check();">
<input id="txtEmail" type="email" />
<input type="submit" value="Submit" />
</form>
</body>
</html>
HTML5系列:HTML5表单的更多相关文章
- [H5表单]html5自带表单验证体验优化及提示气泡修改
慕课网之前录制的视频,js/jquery各种宽高的理解和应用,最近终于上线了.还有一个html5左侧导航没有上线!最近慕课网系列课程让我录制一个html5表单验证的课程.今天就稍微说一下表单验证!另外 ...
- HTML5的form表单属性
form:HTML4中,表单内的从属元素必须书写在<form></form>之内,但是在HTML5中,表单的从属元素可以处于页面的任何位置,然后为其添加form属性,属性值为f ...
- HTML5跨浏览器表单及HTML5表单的渐进增强
HTML5跨浏览器表单 http://net.tutsplus.com/tutorials/html-css-techniques/how-to-build-cross-browser-html5-f ...
- HTML5 学习笔记 表单属性
HTML5新的表单属性 HTML5 的form和input 标签添加了几个新的属性 <form>新属性 autocomplete novalidate input 新属性 autocomp ...
- html5中form表单新增属性以及改良的input标签元素的种类
在HTML5中,表单新增了一些属性,input标签也有了更多的type类型,有些实现了js才能实现的特效,但目前有些浏览器不能全部支持.下面是一些h5在表单和input标签上的一些改动. <!D ...
- HTML5新增的表单验证功能
一.HTML5表单的特点: HTML5 表单增加了许多内置的控件和控件属性 XHTML 中需要放在 form 之中的诸如 input/button/select/textarea 等标签元素,在 HT ...
- BootStrap 智能表单系列 六 表单数据绑定(编辑页面的数据绑定)
本章介绍如何在生成表单后,将一个model的数据展示到form表单中(一般用于编辑页面) 代码如下(连接地址:https://github.com/xiexingen/Bootstrap-SmartF ...
- BootStrap 智能表单系列 五 表单依赖插件处理
这一章比较简单哦,主要就是生产表单元素后的一些后续处理操作,比如日期插件的渲染.一些autocomplete的处理等,在回调里面处理就可以了, demo: $("input.date-pic ...
- BootStrap 智能表单系列 四 表单布局介绍
表单的布局分为自动布局和自定义布局两种: 自动布局就是根据配置项中第二级配置项中数组的长度来自动使用不同的bootstrap栅格,通过设置autoLayout为true可以实现自动布局 自动以布局就是 ...
- 【SqlServer系列】表单查询
1 概述 如下几个问题,如果你能解决,请继续往下看,若不能解决,请先复习SQL基础知识,再来阅读本篇文章.本篇文章深度中等左右. Q1:表StudentScores如下,用一条SQL语句查询出每门 ...
随机推荐
- WPF中获取鼠标相对于桌面位置
var transform = PresentationSource.FromVisual(this).CompositionTarget.TransformFromDevice; var mouse ...
- Lua 排行榜更新
排行榜: key:玩家名字,val:玩家的数值 local key1 = {"a1", "a2", "b1", "b2" ...
- Codeforces Round #260 (Div. 2)
A. Laptops 题目意思: 给定n台电脑,第i台电脑的价格是ai ,质量是bi ,问是否存在一台电脑价格比某台电脑价格底,但质量确比某台电脑的质量高,即是否存在ai < aj 且 bi & ...
- C#调用WebService
1.1.Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求, ...
- oracle 导出指定的存储过程
只能导出以下类型: PROCEDURE PACKAGE PACKAGE BODY TYPE BODY FUNCTION TYPE 也就是,表需要单独导出并导入(已经能俭省很多手动操作了). SET e ...
- iOS 中自定义 cell,点击cell的时候文字不出现的原因
解决方案: 在setSelected方法中设置要显示label的背景颜色即可
- ajax和jquery
ajax的定义: AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术. AJAX = 异步 Ja ...
- / fluxChatDemo / 系列 ——项目安装坑洼简要
第一部分 1.使用import引入时,路径选错 2.React.Component 注意大写 (极浅的坑都掉,原谅我初级中的初级~还是贴出来吧) 3.不知为何运行起来没有内容,都怪自己不熟就上路,以为 ...
- unison+inotify
hostnamectl --static set-hostname tCentos 1.下载文件到/usr/local/srcocamlunisoninotify-tools 2.安装inotify- ...
- ArcGIS AddIN开发:如何调用ArcMap中的选择工作空间的窗体
示例代码如下: public static IWorkspaceName BrowseWorkspace(int hwnd,out IWorkspace ws) { IGxObjectFilterCo ...