HTML5实战 文摘 第二章 HTML5用于创建表单的输入小部件 数据绑定以及数据验证

  HTML5表单在原有表单特性的基础上增加了一些比较便捷的特性,使得我们实现一些常用的表单的小部件、输入类型、输入验证不再那么大费周章。上一篇文章提到了HTML5实现的几种新的输入类型,现在我们更加详尽的了解HTML5的表单产生的新特性和功能。

1. 输入类型和输入属性

  菜鸟教程上给出了HTML5新增加的input输入类型,可以在上面尝试一下不同类型的样子,基本可以满足日常开发需求了。类型不同会照成什么内在差异呢?主要有三点,首先,浏览器会根据输入类型进行基本的数据校验,例如type="email",如果用户输入的内容不包括@符号,那么这就是不合法的输入,浏览器会给出相应的提示。不同类型的第二点影响就是在移动端上,在浏览器上浏览页面时,如果输入项类型不同,设备给出的虚拟键盘就会根据该类型的不同而不同,比如如果type="email",输入时在苹果手机上给出的键盘类型就增加了@符号。第三点则是带来的便捷了,你输入值如果是颜色类型,那么浏览器会给你一个颜色选择的面板,从而选择或者输入相应的颜色,如果单独实现一个这种颜色选择器方便用户输入的话就显得有些麻烦了;。

  输入属性控制了一些特殊的内容,介绍三个输入属性:

  placeholder: 相信大家最常用的就是这个属性了,126邮箱的账户和密码都用了这个placeholder,placeholder实际上就是文本占位符,当用户输入了内容占位符自动消失,起到了提示的作用。

  autofocus: 看例子就明白了,它用于定义在页面加载时应该获取焦点的输入元素。

  required: 设定这个属性就说明该输入时必填项,如果用户没有填如该内容就提交表单,浏览器会给出相应的提示。

2. min max data-*输入属性 <output>

  max min 属性定义了number, range输入的最大值与最小值。

  data-*的作用是将键值对数据绑定到一些元素上。通过dom元素的dataset对象获得:

<input type="number" data-price="21" >js代码:let element = document.getElementById(‘testid‘);
let price = element.dataset.price

  <output> 元素的作用是将结果显示给用户:

<body>
    <output id=‘test‘>122</output>
</body>
<script type="text/javascript">
    let ss = document.getElementById(‘test‘)
    ss.value = 888;
</script>

这个小例子就实现了将output的值设置为888;

3. 利用约束性API来检查表单输入数据

  

时间: 2024-08-03 23:18:58

HTML5实战 文摘 第二章 HTML5用于创建表单的输入小部件 数据绑定以及数据验证的相关文章

tornado的学习——第二章(模板与表单)

链接:http://demo.pythoner.com/itt2zh/ch2.html 来到了第二章:模板与表单 1 # -*- coding:utf-8 -*- 2 3 __author__ = 'roy' 4 5 import os.path 6 7 import tornado.httpserver 8 import tornado.ioloop 9 import tornado.options 10 import tornado.web 11 12 from tornado.option

HTML5实战 文摘 第一章 从文档到应用的转变

1. HTML5的基本特性 1.1 DOCTYPE声明方式 HTML5的声明格式非常简单不需要DTD和URL <!DOCTYPE html> 就这么一句声明放在文档的开头就可以了. 1.2 新的元素 增加新的元素代表新的语义,例如,新增加了<hgroup>标签,这个标签用于对网页或区段(section)的标题进行组合.再例如<nav>标签,它定义了网站导航的链接.有了类似这种新的元素,页面标记结构不仅清晰易读,搜索引擎机器人和辅助技术也能比较好的解读页面的内容. 1.3

Java 线程第三版 第一章Thread导论、 第二章Thread的创建与管理读书笔记

第一章 Thread导论 为何要用Thread ? 非阻塞I/O I/O多路技术 轮询(polling) 信号 警告(Alarm)和定时器(Timer) 独立的任务(Task) 并行算法 第二章 Thread的创建与管理 一.什么是Thread ? Thread是所在主机执行的应用程序任务(task). 只有一个线程的例子: public class Factorial { public static void main(String[] args) { int n = 5; System.ou

《Java并发编程实战》第二章 线程安全性 读书笔记

一.什么是线程安全性 编写线程安全的代码 核心在于要对状态访问操作进行管理. 共享,可变的状态的访问 - 前者表示多个线程访问, 后者声明周期内发生改变. 线程安全性 核心概念是正确性.某个类的行为与其规范完全一致. 多个线程同时操作共享的变量,造成线程安全性问题. * 编写线程安全性代码的三种方法: 不在线程之间共享该状态变量 将状态变量修改为不可变的变量 在访问状态变量时使用同步 Java同步机制工具: synchronized volatile类型变量 显示锁(Explicit Lock

Html5页面使用javascript setCutomValidity()函数验证表单判断输入

<!DOCTYPE HTML><head><meta charset="UTF-8"><title>Html5页面使用javascript验证表单判断输入</title><script language="javascript">function check(){    var pass1=document.getElementbyid("pass1");    var pa

CSS3/HTML5实现漂亮的分步骤注册登录表单

分步骤的登录注册表单现在也比较多,主要是能提高用户体验,用户可以有选择性的填写相应的表单信息,不至于让用户看到一堆表单望而却步.今天和大家分享的就是一款基于HTML5和CSS3的分步骤注册登录表单,外观不用说,非常漂亮.你看一下DEMO就知道了. 这里是在线演示,你可以先看看效果. 接下来我们要来一起看看实现的过程是怎样的.代码有点复杂,主要由HTML代码.CSS3代码以及Javascript代码组成. HTML代码: <form id="msform"> <!--

activiti自定义流程之整合(二):使用angular js整合ueditor创建表单

注:整体环境搭建:activiti自定义流程之整合(一):整体环境配置 基础环境搭建完毕,接下来就该正式着手代码编写了,在说代码之前,我觉得有必要先说明一下activit自定义流程的操作. 抛开自定义的表单不谈,通过之前的了解,我们知道一个新的流程开始,是在启动流程实例(processIntence)的时候,而流程实例依赖于流程定义(processDefinition),流程定义又依赖于流程模型(model). 我们用到的自定义表单需要在创建模型,画模型图的时候就指定表单的名称formKey,需

activiti自己定义流程之整合(二):使用angular js整合ueditor创建表单

基础环境搭建完成,接下来就该正式着手代码编写了,在说代码之前.我认为有必要先说明一下activit自己定义流程的操作. 抛开自己定义的表单不谈.通过之前的了解,我们知道一个新的流程開始.是在启动流程实例(processIntence)的时候,而流程实例依赖于流程定义(processDefinition).流程定义又依赖于流程模型(model). 我们用到的自己定义表单须要在创建模型,画模型图的时候就指定表单的名称formKey.须要保证这个formKey和我们创建的表单名称一致. 表单并不在创建

创建表单以及表单元素的使用

创建表单 其基本语法 <form action="url" method=get|post> <input type=submit> <input type=reset> </form> 其中应用的属性 action=url:定义提交表单的格式,可以是url或者电子邮件地 method=get|post:指明提交表单HTTP的方法  在网页中提供一个空格 text:定义单行文本输入框 Password:定义密码 rows:属性定义多行文本