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;