zoukankan      html  css  js  c++  java
  • html5表单验证

    表单验证为终端用户检测无效的数据并标记这些错误,是一种用户体验的优化。

    下面展现浏览器自带的验证功能也可在移动端中查看:

    HTML部分:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0">
        <title>html5 表单验证</title>
    </head>
    <body>
    <form action="#" id="formValid" class="myform" novalidate="novalidate" onsubmit="return checkForm()">
        <fieldset>
            <div class="form-group">
                <label for="name">名称</label>
                <div>
                    <input type="text" class="form-control" id="name" name="name" required/>
                    <span class="form-error">不能为空</span>
                </div>
            </div>
            <div class="form-group">
                <label for="email">邮箱</label>
                <div>
                    <input type="email" class="form-control"  id="email" name="email" required/>
                    <span class="form-error">邮箱格式不正确</span>
                </div>
            </div>
            <div class="form-group">
                <label>省份</label>
                <select name="province" class="form-control">
                    <option value="">请选择</option>
                    <option value="s">四川</option>
                    <option value="c">重庆</option>
                </select>
            </div>
            <input type="submit" class="btn" value="提交"/>
        </fieldset>
    </form>
    </body>
    </html>

    CSS部分:

       fieldset{border: 0;}
        .myform .form-control{
            display: block;
            padding: 5px;
            width: 100%
        }
        .myform input:focus:invalid + .form-error{
            display: inline;
        }
        .myform .form-error{
            display: none;
            position: absolute; 
            margin-top: .7em;
            padding: 1px 2px;
            color: #fff;
            font-size: .875rem;
            background: #f40;
        }
        .myform .form-error:after{
            position: absolute;
            content: "";
            top: -.5em;
            left: .5em;
            z-index: 100;
            display: inline-block;
            width: 0;
            height: 0;
            vertical-align: middle;
            border-bottom: .5em solid #f40;
            border-right: .5em solid transparent;
            border-left: .5em solid transparent;
            border-top: 0 dotted;
            transform: rotate(360deg);
            overflow: hidden;
        }
        .btn{
            padding: 5px 20px;
         }

    JavaScript部分:

        function checkForm(){
            var myform = document.getElementById("formValid");
            return check(myform.elements);
        }
        function check(eles){
            var ele;
            for(var i = 0;i<eles.length;i++){
                ele = eles[i];
                if(ele.nodeName == "SELECT"){
                    if(!ele.selectedIndex){
                        alert("请选择省份");
                        return false;
                    }
                }else if(ele.name){
                    if(!ele.checkValidity()){
                        ele.focus();
                        return false;
                    }
                }
            }
            return true;
        }
  • 相关阅读:
    二叉树逻辑结构重点
    循环链表
    数据结构 单链表
    《深入理解计算机系统》第7章:重定位PC相对引用的理解
    一个关于空指针的思考
    简单解决python安装中的Unable to find vcvarsall.bat问题
    解决python本地离线安装requests问题
    使用共享内存和信号量模拟实现多进程会话
    使用openssl演练数字签名
    简单了解C语言内嵌汇编
  • 原文地址:https://www.cnblogs.com/yifengBlog/p/5219894.html
Copyright © 2011-2022 走看看