使用 HTML5 的新元素和新输入类型,可以很轻松的完成文本框求和,虽然使用了 number 类型,用于规定输入数字的字段,并且所有浏览器都支持,但是进行文本框求和时,仍会被判定为字符串,需要使用 Number 对象方法将字符串类型转换为数字类型,也可以使用 parseInt 函数解析一个字符串返回一个整数,但是对于计算程序还是使用 Number 对象方法更靠谱些,比如你在第一个文本框输入 1,parseInt 就会显示 NaN,除非输入第二个值,才会计算结果。在上面例子中,使用了 HTML5 新的事件属性 oninput,该事件指定在用户输入时触发脚本,使用该事件的好处就是可以动态的显示计算结果,只要输入值,就显示结果,在 Chrome 中如果输入中文,则会直接被屏蔽掉,显示 NaN,而在 Firefox 中可以输入中文,但是输入框出现红色的错误提示,结果显示 NaN:
+ = showNum(){ ).value; ).value; parseInt(numB); 11 }
oninput 事件在用户输入时触发脚本,在 <input> 或 <textarea> 元素的值发生改变时触发。该事件类似于 onchange 事件,不同之处在于 oninput 事件在元素值发生变化是立即触发, onchange 在元素失去焦点时触发。另外一点不同是 onchange 事件也可以作用于 <keygen> 和 <select> 元素。所有浏览器都支持该事件,包括 IE。
下面的例子,是 oninput 事件的一个小应用,可以动态跟随显示文本框输入:
show() { ).value; t; 7 }
14、HTML5 新表单属性
HTML5 为 <form> 和 <input> 标签添加了多个新属性。几乎所有浏览器都支持这些新属性。
<form> 新属性:autocomplete、novalidate 。
<input> 新属性:
autocomplete、autofocus、list、multiple、pattern (RegExp)、placeholder、required、
width 和 height 、min/max 和 step、
(1)、<form> / <input> autocomplete 属性
autocomplete 属性规定 form 或 input 域应该拥有自动完成功能。
当用户在自动完成域中开始输入时,浏览器应该在该域中显示填写的选项。
注意:autocomplete 属性有可能在 form 元素中是开启的,而在 input 元素中是关闭的。
autocomplete 适用于 <form> 标签,以及以下类型的 <input> 标签:text,search,url,telephone,email,password,datepickers,range 以及 color。
(2)、<form> novalidate 属性
novalidate 属性的一个 boolean 属性。
novalidate 属性规定在提交表单时不应该验证 form 或 input 域。
(3)、<input> autofocus 属性
autofocus 属性是一个 boolean 属性。
autofocus 属性规定在页面加载时,域自动地获得焦点。
注意:autofocus 属性适用于所有 <input> 标签的类型。
(4)、<input> list 属性
list 属性规定输入域的 datalist。
datalist 元素是输入域的选项列表。
(5)、<input> multiple 属性
multiple 属性是一个 boolean 属性。
multiple 属性规定<input> 元素中可选择多个值。
注意:multiple 属性适用于以下类型的 <input> 标签:email 和 file。
(6)、<input> pattern 属性
pattern 属性规定用于验证 input 域的模式(pattern),模式是正则表达式。
即 pattern 属性描述了一个正则表达式用于验证 <input> 元素的值。
注意:pattern 属性适用于以下类型的 <input> 标签: text,search,url,tel,email 以及 password。
(7)、<input> placeholder 属性
placeholder 属性提供一种提示,描述输入域所期待的值。
简短的提示会在输入域为空时显示出现,会在输入域获得焦点时消失。
注意:placeholder 属性适用于以下类型的 <input> 标签:text,search,url,telephone,email 以及 password。
(8)、<input> required 属性
required 属性是一个 boolean 属性。
required 属性规定必须在提交之前填写输入域,输入域不能为空。
注意:required 属性适用于以下类型的 <input> 标签:text,search,url,telephone,email,password,date pickers,number,checkbox,radio 以及 file。
(9)、<input> width 和 height 属性
width 和 height 属性规定用于 image 类型的 <input> 标签的图像宽度和高度。
注意:width 和 height 属性只适用于 image 类型的<input> 标签。