![HTML5+CSS3从入门到精通(微课精编版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/697/24172697/b_24172697.jpg)
3.4 新的表单元素
HTML5新增3个表单元素:datalist、keygen和output,下面分别进行说明。
3.4.1 datalist——数据列表
![](https://epubservercos.yuewen.com/1B54E6/13043253503832006/epubprivate/OEBPS/Images/Figure-P89_17207.jpg?sign=1738863654-P9bR91KBJ3WKyYLMGqaKEhTkmx8piVpv-0-37e720849fbf3cdf4e6e1bbc28b1bcdc)
视频讲解
datalist元素用于为输入框提供一个可选的列表,供用户输入匹配或直接选择。如果不想从列表中选择,也可以自行输入内容。
datalist元素需要与option元素配合使用,每一个option选项都必须设置value属性值。其中<datalist>标签用于定义列表框,<option>标签用于定义列表项。如果要把datalist提供的列表绑定到某输入框上,还需要使用输入框的list属性来引用datalist元素的id。
【示例】下面示例演示了datalist元素和list属性的配合使用。
![](https://epubservercos.yuewen.com/1B54E6/13043253503832006/epubprivate/OEBPS/Images/Figure-P89_78349.jpg?sign=1738863654-0Fo8wOxBMsqS5nmg16BevIA7ztGTTz9U-0-2751d3334680eb40d19f324d00108ff8)
在Chrome浏览器中运行,当用户单击输入框之后,就会弹出一个下拉网址列表,供用户选择,效果如图3.52所示。
![](https://epubservercos.yuewen.com/1B54E6/13043253503832006/epubprivate/OEBPS/Images/Figure-P89_17183.jpg?sign=1738863654-f7p5uy15hWNhBpHs9VB21F0ru65SVef3-0-a6ff57f28e0b45b3e206e23719739412)
图3.52 datalist元素和list属性应用
3.4.2 keygen——密钥对生成器
![](https://epubservercos.yuewen.com/1B54E6/13043253503832006/epubprivate/OEBPS/Images/Figure-P89_17210.jpg?sign=1738863654-6I59Xc25PfanBYiQvujv5NLcrNOscDw7-0-4c4a394c0e25293a1a20407ffeb89e30)
视频讲解
keygen元素的作用是提供一种验证用户的可靠方法。
作为密钥对生成器,当提交表单时,keygen元素会生成两个键:私钥和公钥。私钥存储于客户端;公钥被发送到服务器,公钥可用于之后验证用户的客户端证书。
目前,浏览器对该元素的支持不是很理想。
【示例】下面是keygen属性的一个应用示例。
![](https://epubservercos.yuewen.com/1B54E6/13043253503832006/epubprivate/OEBPS/Images/Figure-P89_78350.jpg?sign=1738863654-QEU7guInoYHKz6IfWCozYZqHyiZEoUpM-0-935b87335f59789c5af493782e7df272)
以上代码在Chrome浏览器中的运行结果如图3.53所示。在“请选择加密强度”右侧的keygen元素中可以选择一种密钥强度,有2048(高强度)和1024(中等强度)两种,在Firefox浏览器也提供两种选项,如图3.54所示。
![](https://epubservercos.yuewen.com/1B54E6/13043253503832006/epubprivate/OEBPS/Images/Figure-P90_17238.jpg?sign=1738863654-7Nlo6qgKOMLpV0EEeDHGuOKYkx3svs9S-0-bb82a32a764a41d47902596e295ae528)
图3.53 Chrome浏览器提供的密钥等级
![](https://epubservercos.yuewen.com/1B54E6/13043253503832006/epubprivate/OEBPS/Images/Figure-P90_17239.jpg?sign=1738863654-WyYo7eCXMnRYP3FLIF90XMEquXPQxuic-0-f297816240d4030e3ac874893720a85f)
图3.54 Firefox浏览器提供的密钥等级
3.4.3 output——输出结果
![](https://epubservercos.yuewen.com/1B54E6/13043253503832006/epubprivate/OEBPS/Images/Figure-P90_17332.jpg?sign=1738863654-kzS7EjV0ncsixwQDOungfYtKnwDQgwgF-0-f2076e28ef8fc68f2a063b1e28e75f62)
视频讲解
output元素用于在浏览器中显示计算结果或脚本输出,其语法如下。
<output name="">Text</output>
【示例】下面是output元素的一个应用示例。该示例计算用户输入的两个数字的乘积。
![](https://epubservercos.yuewen.com/1B54E6/13043253503832006/epubprivate/OEBPS/Images/Figure-P90_78353.jpg?sign=1738863654-18VFxeUc9heubm0lgXHDKwHZAIXeiGC4-0-4eb434e6ccd7a416168c247bd95b1b54)
以上代码在Chrome浏览器中的运行结果如图3.55和图3.56所示。当页面载入时,会首先提示“请输入第1个数字”,输入并单击“确定”按钮后再根据提示输入第2个数字。再次单击“确定”按钮后,显示计算结果,如图3.57所示。
![](https://epubservercos.yuewen.com/1B54E6/13043253503832006/epubprivate/OEBPS/Images/Figure-P90_17328.jpg?sign=1738863654-KILut8o5CgtLEjDMX28AwX1CrN2PI3yx-0-2b2236b78a871cee5dd9cae1ba6a9ed0)
图3.55 提示输入第1个数字
![](https://epubservercos.yuewen.com/1B54E6/13043253503832006/epubprivate/OEBPS/Images/Figure-P90_17329.jpg?sign=1738863654-5P2nft1lrrVUfnRh4gfcKzmE67BpRM7f-0-0b056d54c50ae50f531733ba3a9805e8)
图3.56 提示输入第2个数字
![](https://epubservercos.yuewen.com/1B54E6/13043253503832006/epubprivate/OEBPS/Images/Figure-P91_17353.jpg?sign=1738863654-J4bgLjED4x9xlNTIA9t6aNRorkluOC7i-0-8df19558aab689cb0ee6804c7c3deac7)
图3.57 显示计算结果