zoukankan      html  css  js  c++  java
  • H5 表单

          伴随着互联网富应用以及移动开发的兴起,传统的Web表单已经越来越不能满足开发的需求,HTML5在Web表单方向也做了很大的改进,如拾色器、日期/时间组件等,使表单处理更加高效。    

    1.1新增表单类型

    - email - 限定输入内容为邮箱地址,表单提交时会校验格式
    - url - 限定输入内容为URL,表单提交时会校验格式
    - number - 限定输入内容为数字,表单提交时会校验格式
    - range - 数值范围选择器
    - Date Pickers - 日期时间选择器
    + 样式不能修改,移动端用的比较多,因为移动端显示的是系统的时间或日期选择器
    + date - 选取日、月、年
    + month - 选取月、年
    + week - 选取周和年
    + time - 选取时间(小时和分钟)
    + datetime - 选取时间、日、月、年,浏览器兼容性不好,效果等同于datetime-local
    + datetime-local - 选取本地时间、日、月、年
    - search - 搜索域,语义化,表示定义搜索框

    代码:

    <form action="">
            <fieldset>
                <legend>表单类型</legend>
                <label for="">
                    email: <input type="email" name="email" required>
                </label>
                <label for="">
                    color: <input type="color" name="color">
                </label>
                <label for="">
                    url: <input type="url" name='url'>
                </label>
                <label for="">
                    <!-- step 步数-->
                    number: <input type="number" step="3" name="number">
                </label>
                <label for="">
                    range: <input type="range" name="range" value="20">
                </label>
                <label for="">
                    search: <input type="search" name="search">
                </label>
                <label for="">
                    tel: <input type="tel" name="tel">
                </label>
                <label for="">
                    time: <input type="time" name="time">
                </label>
                <label for="">
                    date: <input type="date" name="date">
                </label>
                <label for="">
                    datetime: <input type="datetime">
                </label>
                <label for="">
                    week: <input type="week" name="week">
                </label>
                <label for="">
                    month: <input type="month" name="month">
                </label>
                <label for="">
                    datetime-local: <input type="datetime-local" name="datetime-local">
                </label>
                <input type="submit">
            </fieldset>
        </form>

    其他常用旧表格类型:

    <form action="">
        <input type="text"/>
        <input type="button"/>
        <input type="submit"/>
        <input type="checkbox"/>
        <input type="radio"/>
        <input type="password"/>
        <input type="file"/>
        <input type="image"/>
        <input type="reset"/>
    </form>

    1.2新增表单属性

    - form
    + autocomplete 设置整个表单是否开启自动完成 on|off
    + novalidate 设置H5的表单校验是否工作 true 不工作 不加该属性代表校验

    - input:
    + autocomplete 单独设置每个文本框的自动完成
    + autofocus 设置当前文本域页面加载完了过后自动得到焦点
    + form 属性是让表单外的表单元素也可以跟随表单一起提交
    + form overrides
    * formaction 在submit上重写表单的特定属性,当点击当前submit时会以当前值使用
    * formenctype,
    * formmethod,
    * formnovalidate,
    * formtarget
    + list 作用就是指定当前文本框的自动完成列表的数据 datalist 在界面上是看不见的,只是用于定义数据列表的
    + min / max / step
    * min max 限制值的范围,但是不会再输入时限制,提交时校验,
    * step设置的是每次加减的增量
    * 主要使用在number range datepicker上
    + multiple
    * 文本域的多选
    + pattern
    * 设置文本框的匹配格式(正则)
    + placeholder
    * 文本框占位符
    + required
    * 限制当前input为必须的

    代码:

     1 <form action="" autocomplete="on" id="form" >
     2         <fieldset>
     3             <legend>表单属性</legend>
     4             <label for="">
     5                 autofocus: <input type="text" autocomplete="on" name="autofocus" autofocus required>
     6             </label>
     7             <label for="">
     8                 placeholder: <input type="text" pattern="D+" placeholder="这是一个占位符" novalidate>
     9             </label>
    10             <label for="">
    11                 multiple: <input type="file" multiple>
    12             </label>
    13             <input type="submit" value="提交">
    14         </fieldset>
    15     </form>
    16     <label for="">
    17         表单外的一个元素:
    18         <input type="text" name="outer" form="form">
    19     </label>

    1.3表单事件

    oninput 用户输入内容时触发,可用于移动端输入字数统计
    oninvalid 验证不通过时触发 setCustomValidity 设置自定义提示

    代码:

     1     <form action="">
     2         <fieldset>
     3             <legend>表单事件</legend>
     4             <label for="">
     5                 oninput: <input type="email" id="input">
     6             </label>
     7             <input type="submit" value="提交">
     8         </fieldset>
     9     </form>
    10     <script>
    11         var input = document.getElementById('input');
    12 
    13         input.oninvalid = function () {
    14 
    15             this.setCustomValidity('请输入正确的邮箱地址')
    16         }
    17     </script>

    1.4移动端虚拟键盘调用

    1   <input type="text" name="txt_text" id="txt_text">
    2     <input type="number" name="txt_number" id="txt_number">
    3     <input type="email" name="txt_email" id="txt_email">
    4     <input type="tel" name="txt_tel" id="txt_tel">
    5     <input type="url" name="txt_url" id="txt_url">
  • 相关阅读:
    高仿中国银行ATM系统
    第二次冲刺2
    第二轮冲刺1
    本日进度7
    本日进度6
    本日进度5
    本日进度4
    本日进度3
    本日进度2
    本日进度
  • 原文地址:https://www.cnblogs.com/lxj-echo/p/5783585.html
Copyright © 2011-2022 走看看