HTML5 表单元素

HTML5拥有若干涉及表单的元素和属性。

HTML5 新的表单元素

HTML5 有以下新的表单元素:

  • <datalist>
  • <keygen>
  • <output>

注意: 不是所有的浏览器都支持HTML5 新的表单元素,但是你可以在使用它们,即使浏览器不支持表单属性,仍然可以显示为常规的表单元素。

HTML5 <datalist> 元素

<datalist> 元素规定输入域的选项列表。

<datalist> 属性规定 form 或 input 域应该拥有自动完成功能。当用户在自动完成域中开始输入时,浏览器应该在该域中显示填写的选项:

使用 <input> 元素的列表属性与 <datalist> 元素绑定. <input> 元素使用<datalist>预定义值:

xml 复制代码
<!DOCTYPE html>
<html>
<head> 
<meta charset="utf-8"> 
<title>基础教程</title> 
</head>
<body>
    
<form action="demo-form.php" method="get">
<input list="languages" name="language">
<datalist id="languages">
  <option value="C++">
  <option value="PHP">
  <option value="Golang">
  <option value="Python">
  <option value="Ruby">
</datalist>
<input type="submit">
</form>

<p><strong>注意:</strong> Internet Explorer 9(更早 IE 版本),Safari 不支持 datalist 标签。</p>

</body>
</html>

HTML5 <keygen> 元素

<keygen> 元素的作用是提供一种验证用户的可靠方法。

<keygen>标签规定用于表单的密钥对生成器字段。

当提交表单时,会生成两个键,一个是私钥,一个公钥。

私钥(private key)存储于客户端,公钥(public key)则被发送到服务器。公钥可用于之后验证用户的客户端证书(client certificate) 带有keygen字段的表单:

xml 复制代码
<!DOCTYPE html>
<html>
<head> 
<meta charset="utf-8"> 
<title>基础教程</title> 
</head>
<body>

<form action="demo_form.php" method="get">
  用户名: <input type="text" name="username">
  加密: <keygen name="security_keygen">
  <input type="submit">
</form>

<p><strong>注意:</strong> Internet Explorer 不支持 keygen 标签。</p>

</body>
</html>

HTML5 <output> 元素

<output> 元素用于不同类型的输出,比如计算或脚本输出: 将计算结果显示在 <output> 元素:

xml 复制代码
<!DOCTYPE html>
<html>
<head> 
<meta charset="utf-8"> 
<title>基础教程</title> 
</head>
<body>

<form oninput="x.value=parseInt(a.value)+parseInt(b.value)">0
<input type="range" id="a" value="50">100
+<input type="number" id="b" value="50">
=<output name="x" for="a b"></output>
</form>

<p><strong>注意:</strong>  Internet Explorer 不支持 output 标签。</p>

</body>
</html>

Html5中的智能表单

xml 复制代码
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Html5中的智能表单</title>
</head>
<body>
<form action="demo-form.php">
        <fieldset>
            <legend>Html5中的智能表单</legend>
            <label for="email">
                email:<input type="email" name="email" id="email"/>
            </label>
            <label for="tel">
                tel:<input type="tel" name="tel" id="tel"/>
            </label>
            <label for="url">
                url:<input type="url" name="" id="url"/>
            </label>
            <label for="number">
                number:<input type="number" name="" id="number" step="3"/>
            </label>
            <label for="search">
                search:<input type="search" name="" id="search"/>
            </label>
            <label for="range">
                range:<input type="range" name="" id="range" value="60" min="0" max="100"/>
            </label>
            <label for="color">
                color:<input type="color" name="" id="color"/>
            </label>
            <label for="time">
                time:<input type="time" name="" id="time"/>
            </label>
            <label for="date">
                date:<input type="date" name="" id="date"/>
            </label>
            <label for="month">
                month:<input type="month" name="" id="month"/>
            </label>
            <label for="week">
                week:<input type="week" name="" id="week"/>
            </label>
            <input type="submit" value="提交"/>
        </fieldset>
    </form>
</body>
</html>

HTML5 新表单元素

标签 描述
<datalist> <input>标签定义选项列表。请与 input 元素配合使用该元素,来定义 input 可能的值。
<keygen> <keygen> 标签规定用于表单的密钥对生成器字段。
<output> <output> 标签定义不同类型的输出,比如脚本的输出。

引用

菜鸟教程

相关推荐
卡布叻_星星4 小时前
前端JavaScript笔记之父子组件数据传递,watch用法之对象形式监听器的核心handler函数
前端·javascript·笔记
开发加微信:hedian1165 小时前
短剧小程序开发全攻略:从技术选型到核心实现(前端+后端+运营干货)
前端·微信·小程序
YCOSA20257 小时前
ISO 雨晨 26200.6588 Windows 11 企业版 LTSC 25H2 自用 edge 140.0.3485.81
前端·windows·edge
小白呀白7 小时前
【uni-app】树形结构数据选择框
前端·javascript·uni-app
吃饺子不吃馅7 小时前
深感一事无成,还是踏踏实实做点东西吧
前端·svg·图形学
90后的晨仔8 小时前
Mac 上配置多个 Gitee 账号的完整教程
前端·后端
少年阿闯~~8 小时前
CSS——实现盒子在页面居中
前端·css·html
开发者小天8 小时前
uniapp中封装底部跳转方法
前端·javascript·uni-app
阿波罗尼亚9 小时前
复杂查询:直接查询/子查询/视图/CTE
java·前端·数据库
正义的大古9 小时前
OpenLayers地图交互 -- 章节九:拖拽框交互详解
前端·vue.js·openlayers