zoukankan      html  css  js  c++  java
  • HTML5

    HTML5 表单

    HTML5 表单元素

    HTML5有以下新的表单元素

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

    HTML5 <datalist> 元素

    • <datalist>元素规定输入域的选项列表
    • <datalist>元素规定 form 或 input 域应该拥有的自动完成功能

    使用 <input> 元素的列表属性与 <datalist> 元素绑定

    <input list="browsers">
    <datalist id="browsers">
        <option value="IE">
        <option valie="FireFox">
        <option value="Chrome">
        <option value="Opera">
        <option value="Safari">
    </datalist>
    

    HTML5 <keygen> 元素

    • <keygen>元素的作用是提供一种验证用户的可靠方法
    • <keygen>元素规定用于表单的密钥对生成器字段
    • 当提交表单时,会生成两个键,一个是私钥,一个是公钥
    • 公钥用于之后验证客户的客户端证书(client certificate)

    带有 keygen 字段的表单

    <form action="demo_keygen.asp" method="get">
        用户名:<input type="text" name="usr_name">
        加密:<keygen name="security">
        <input type="submit">
    </form>
    

    HTML5 <output> 元素

    • <output>元素用于不同类型的输出,比如计算机或脚本输出
    <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>
    

    HTML5 表单属性

    标签 属性 描述
    form autocomplete 当用户在自动完成域中开始输入时,浏览器应该在该域中显示填写的选项
    form novalidate 规定在提交表单时不应该验证 form 或 input 域
    标签 属性 描述
    input autocomplete 当用户在自动完成域中开始输入时,浏览器应该在该域中显示填写的选项
    input autofocus 规定在页面加载时,域自动地获得焦点
    input form 规定输入域所属的一个或多个表单
    input formaction 用于描述表单提交的URL地址
    input formenctype 描述了表单提交到服务器的数据编码 (只对form表单中 method="post" 表单)
    input formmethod 定义了表单提交的方式
    input formnovalidate 描述了 <input> 元素在表单提交时无需被验证
    input formtarget 指定一个名称或一个关键字来指明表单提交数据接收后的展示
    input height height规定用于 image 类型的 <input> 标签的图像高度
    input width width 规定用于 image 类型的 <input> 标签的图像宽度
    input list 规定输入域的 datalist
    input min min、max 和 step 属性用于为包含数字或日期的 input 类型规定限定(约束)
    input max min、max 和 step 属性用于为包含数字或日期的 input 类型规定限定(约束)
    input multiple 规定<input> 元素中可选择多个值
    input pattern(regexp) 描述了一个正则表达式用于验证 <input> 元素的值
    input placeholder 提供一种提示(hint),描述输入域所期待的值
    input required 规定必须在提交之前填写输入域(不能为空)
    input step 输入域规定合法的数字间隔

    <form>/<input> autocomplete 属性

    • autocomplete 属性规定 form 或 input 域应该拥有自动完成功能
    • 当用户在自动完成域中开始输入时,浏览器应该在该域中显示填写的选项
    • autocomplete 属性有可能在 form元素中是开启的,而在input元素中是关闭的
    • autocomplete 适用于
      标签,以及以下类型的 标签:text, search, url, telephone, email, password, datepickers, range 以及 color
    <form action="demo_form.php" autocomplete="on">
        Name:<input type="text" name="name"><br />
        Gender:<input type="text" name="gender"><br />
        Age:<input type="text" name="age" autocomplete="off"><br />
        <input type="submit">
    </form>
    

    <form> novalidate 属性

    • novalidate 属性是一个 boolean(布尔) 属性
    • novalidate 属性规定在提交表单时不应该验证 form 或 input 域

    不需要验证提交的表单数据

    <form action="demo_index.php" novalidate>
        Name:<input type="text" name="name"><br />
        Gender:<input type="text" name="gender"><br />
        Age:<input type="text" name="age" autocomplete="off"><br />
        <input type="submit">
    </form>
    

    <input> autofocus 属性

    • autofocus 属性是一个 boolean 属性
    • autofocus 属性规定在页面加载时,域自动地获得焦点

    让“Name” input 输入域在页面载入时自动聚焦

    <form action="demo_index.php">
        Name:<input type="text" name="name" autofocus><br />
        Gender:<input type="text" name="gender"><br />
        Age:<input type="text" name="age"><br />
        <input type="submit">
    </form>
    

    <input> formaction 属性

    • formaction 属性用于描述表单提交的URL地址
    • formaction 属性会覆盖 元素中的action属性
    • formaction 属性用于 type="submit" 和 type="image"

    以下表单包含了两个不同地址的提交按钮

    <form action="demo-index.php">
        Name:<input type="text" name="name" autofocus><br />
        Gender:<input type="text" name="gender"><br />
        Age:<input type="text" name="age"><br />
        <input type="submit" value="提交">
        <input type="submit" formaction="demo_home.php"
      value="提交">
    </form>
    

    <input> formenctype 属性

    • formenctype 属性描述了表单提交到服务器的数据编码 (只对form表单中 method="post" 表单)
    • formenctype 属性覆盖 form 元素的 enctype 属性
    • 该属性与 type="submit" 和 type="image" 配合使用

    第一个提交按钮已默认编码发送表单数据,第二个提交按钮以 "multipart/form-data" 编码格式发送表单数据:

    <form action="demo-post_enctype.php" method="post">
      Name: <input type="text" name="name"><br>
      <input type="submit" value="提交">
      <input type="submit" formenctype="multipart/form-data"
      value="以 Multipart/form-data 提交">
    </form>
    

    <input> formmethod 属性

    • formmethod 属性定义了表单提交的方式
    • formmethod 属性覆盖了 <form> 元素的 method 属性
    • 该属性可以与 type="submit" 和 type="image" 配合使用

    重新定义表单提交方式实例:

    <form action="demo-form.php" method="get">
      Name: <input type="text" name="name"><br>
      Gender: <input type="text" name="gender"><br>
      <input type="submit" value="提交">
      <input type="submit" formmethod="post" formaction="demo-post.php"
      value="使用 POST 提交">
    </form>
    

    <input> formnovalidate 属性

    • novalidate 属性是一个 boolean 属性
    • novalidate属性描述了 <input> 元素在表单提交时无需被验证
    • formnovalidate 属性会覆盖 <form> 元素的novalidate属性
    • formnovalidate 属性与type="submit一起使用

    两个提交按钮的表单(使用与不适用验证 ):

    <form action="demo-form.php">
      E-mail: <input type="email" name="userid"><br>
      <input type="submit" value="提交"><br>
      <input type="submit" formnovalidate value="不验证提交">
    </form>
    

    <input> formtarget 属性

    • formtarget 属性指定一个名称或一个关键字来指明表单提交数据接收后的展示
    • formtarget 属性覆盖 <form>元素的target属性
    • formtarget 属性与type="submit" 和 type="image"配合使用

    两个提交按钮的表单, 在不同窗口中显示:

    <form action="demo-form.php">
      Name: <input type="text" name="name"><br>
      Gender: <input type="text" name="gender"><br>
      <input type="submit" value="正常提交">
      <input type="submit" formtarget="_blank"
      value="提交到一个新的页面上">
    </form>
    

    <input> height 和 width 属性

    • height 和 width 属性规定用于 image 类型的 <input> 标签的图像高度和宽度
    • height 和 width 属性只适用于 image 类型的<input> 标签

    定义了一个图像提交按钮, 使用了 height 和 width 属性:

    <input type="image" src="demo_img.gif" alt="Submit" width="48" height="48">
    

    <input> list 属性

    • list 属性规定输入域的 datalist,datalist 是输入域的选项列表
    <input list="fruits">
    <datalist id="fruits">
      <option value="Apple">
      <option value="Banana">
      <option value="Oringe">
      <option value="Lemon">
    </datalist>
    

    <input> min 和 max 属性

    • min、max 和 step 属性用于为包含数字或日期的 input 类型规定限定(约束)
    • min、max 和 step 属性适用于以下类型的 <input> 标签:date pickers、number 以及 range

    <input> 元素最小值与最大值设置:

    Enter a date before 1980-01-01:
    <input type="date" name="bday" max="1979-12-31">
    
    Enter a date after 2000-01-01:
    <input type="date" name="bday" min="2000-01-02">
    
    Quantity (between 1 and 5):
    <input type="number" name="quantity" min="1" max="5">
    

    <input> multiple 属性

    • multiple 属性是一个 boolean 属性
    • multiple 属性规定<input> 元素中可选择多个值
    • multiple 属性适用于以下类型的 <input> 标签:email 和 file

    上传多个文件:

    选择图片: <input type="file" name="img" multiple>
    

    <input> pattern 属性

    • pattern 属性描述了一个正则表达式用于验证 <input> 元素的值
    • pattern 属性适用于以下类型的 <input> 标签: text, search, url, tel, email, 和 password

    显示了一个只能包含三个字母的文本域(不含数字及特殊字符):

    Country code: <input type="text" name="country_code" pattern="[A-Za-z]{3}" title="Three letter country code">
    

    <input> placeholder 属性

    • placeholder 属性提供一种提示(hint),描述输入域所期待的值
    • 简短的提示在用户输入值前会显示在输入域上
    • placeholder 属性适用于以下类型的 <input> 标签:text, search, url, telephone, email 以及 password

    input 字段提示文本:

    <input type="text" name="name" placeholder="你的名字">
    

    <input> required 属性

    • required 属性是一个 boolean 属性
    • required 属性规定必须在提交之前填写输入域(不能为空)
    • required 属性适用于以下类型的 <input> 标签:text, search, url, telephone, email, password, date pickers, number, checkbox, radio 以及 file

    不能为空的input字段:

    Username: <input type="text" name="usrname" required>
    

    <input> step属性

    • step 属性为输入域规定合法的数字间隔:如果 step="3",则合法的数是 -3,0,3,6 等
    • step 属性可以与 max 和 min 属性创建一个区域值
    • step 属性与以下type类型一起使用: number, range, date, datetime, datetime-local, month, time 和 week

    规定input step步长为5:

    <input type="number" name="points" step="5">
    
  • 相关阅读:
    毕业生的商业软件开发之路 C#语言简介
    [毕业生的商业软件开发之路]第一次使用VS.NET集成开发环境
    一种应用程序命令执行架构设计
    DCWriter 电子病历文档编辑器的 电子病历功能规范对照表
    [毕业生的商业软件开发之路]积累与创新
    WEB开发人员的微软技术战略
    PureMVC(AS3)剖析:吐槽
    走在网页游戏开发的路上(九)
    [服务器开发]可伸缩系统的设计模式(译)
    回合制页游
  • 原文地址:https://www.cnblogs.com/xdy-/p/13467605.html
Copyright © 2011-2022 走看看