HTML5 新的 Input 类型
HTML5 拥有多个新的表单输入类型。这些新特性提供了更好的输入控制和验证。
- email类型,用于应该包含 e-mail 地址的输入域
<input type="email" name="user_email" />
- url 类型,用于应该包含 URL 地址的输入域。
<input type="url" name="user_url" />
- number 类型用于应该包含数值的输入域。
<input type="number" name="points" min="1" max="10" /> //以下属性为number类型使用 //max 规定允许的最大值 //min 规定允许的最小值 //step 规定合法的数字间隔(如果 step="3",则合法的数是 -3,0,3,6 等) //value 规定默认值
- range 类型,用于应该包含一定范围内数字值的输入域。range 类型显示为滑动条。
<input type="range" name="points" min="1" max="10" /> /* 以下属性为range类型使用 max 规定允许的最大值 min 规定允许的最小值 step 规定合法的数字间隔(如果 step="3",则合法的数是 -3,0,3,6 等) value 规定默认值 */
HTML5 拥有多个可供选取日期和时间的新输入类型:
Date: <input type="date" name="user_date" />
/*
HTML5 拥有多个可供选取日期和时间的新输入类型:
date - 选取日、月、年
month - 选取月、年
week - 选取周和年
time - 选取时间(小时和分钟)
datetime - 选取时间、日、月、年(UTC 时间)
datetime-local - 选取时间、日、月、年(本地时间)
*/
6 .search类型,用于搜索域,显示为常规的文本域
HTML5 的新的表单元素:
-
datalist 元素,规定输入域的 选项列表。(确定输入选项供用户选择)
列表是通过 datalist 内的 option 元素创建的。如需把 datalist 绑定到输入域,请用输入域的 list 属性引用 datalist 的 id:
<!DOCTYPE HTML> <html> <body> <form action="/example/html5/demo_form.asp" method="get"> //action属性,规定提交表单时向何处发送表单数据,值为url //method属性,规定用于发送 form-data 的 HTTP 方法。值为get/post Webpage: <input type="url" list="url_list" name="link" /> <datalist id="url_list"> <option label="W3School" value="http://www.w3school.com.cn" /> <option label="Google" value="http://www.google.com" /> <option label="Microsoft" value="http://www.microsoft.com" /> </datalist> <input type="submit" /> </form> </body> </html>
-
keygen 元素的作用是提供一种验证用户的可靠方法。
keygen 元素是密钥对生成器(key-pair generator)。当提交表单时,会生成两个键,一个是私钥,一个公钥。
私钥(private key)存储于客户端,公钥(public key)则被发送到服务器。公钥可用于之后验证用户的客户端证书(client certificate)。
目前,浏览器对此元素的糟糕的支持度不足以使其成为一种有用的安全标准。
<form action="demo_form.asp" method="get"> Username: <input type="text" name="usr_name" /> Encryption: <keygen name="security" /> <input type="submit" /> </form>
3、 output 元素,用于不同类型的输出,比如计算或脚本输出:
<!DOCTYPE HTML>
<html>
<head>
<script type="text/javascript">
function resCalc()
{
numA=document.getElementById("num_a").value;
numB=document.getElementById("num_b").value;
document.getElementById("result").value=Number(numA)+Number(numB);
}
</script>
</head>
<body>
<p>使用 output 元素的简易计算器:</p>
<form onsubmit="return false">
<input id="num_a" /> +
<input id="num_b" /> =
<output id="result" onforminput="resCalc()"></output>
</form>
</body>
</html>