zoukankan      html  css  js  c++  java
  • 自制简单表单验证relative与absolute定位

    html结构,用到了label与span

    <label class="relative"><input type="text" name="name" id="name" class="colorblur" size="40" value="{sh:$info.name}"/><span class="msg_dialog"></span></label>

    添加样式

    .relative{
        position: relative;
        font-weight: normal;
    
    }
    .msg_dialog{
        display: block;
        width:200px;
        height:auto;
        position: absolute;
        right:-200px;
        top:5px;
        color:red;
        overflow: hidden;
    }

    表单添加checkForm()

    <form action="{sh::U('User/addAgent')}" method="post" id="myform" onsubmit="return checkform();">
    function checkform(){
        if($("#name").val() == ''){
            showdialog($("#name"),"姓名不能为空");
            $("#name").focus();
            return false;
        }
    
        var email_val = $("#email").val();
        if(email_val == ''){
            showdialog($("#email"),"邮箱不能为空");
            $("#email").focus();
            return false;
        }
        reg=/^w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$/;
        if(!reg.test(email_val)){
            showdialog($("#email"),"邮箱不合法");
            $("#email").focus();
            return false;
        }
    
        // ajax email是否已存在
        if(ajaxCheck('email',email_val) == 1){
            showdialog($("#email"),"邮箱已存在,请勿重复添加");
            $("#email").focus();
            return false;
        }
    
        var tel_val = $("#tel").val();
        if(tel_val == '' || tel_val.length != '11'){
            showdialog($("#tel"),"手机不能为空或手机号有误");
            $("#tel").focus();
            return false;
        }
    
        // ajax 验证号码是否已存在
        if(ajaxCheck('tel',tel_val) == 1){
            showdialog($("#tel"),"号码已存在");
            $("#tel").focus();
            return false;
        }
    
    
        var reg = /^[0-9a-zA-Z]+$/;
        if($("#password").val() == '' || $("#password").val().length <6 || !reg.test($("#password").val())){
            showdialog($("#password"),"密码不能为空且必须为字符或数字");
            $("#password").focus();
            return false;
        }
    
        if($("#map_lng").val() == ''){
            showdialog($("#map_lng"),"请标注代理商位置");
            return false;
        }
    }

    showdialog() 方法负责处理提示信息

    function showdialog(obj,msg){
        obj.siblings(".msg_dialog").text(msg).show().delay(2000).hide(0);
    }

    delay(2000).hide(0) 延迟两秒后消失
    ajax验证

    // ajax验证邮箱号码
    function ajaxCheck(t,v){
        var res = '';
        $.ajax({
            tpye:"post",
            url:"{sh::U('User/ajax','todo=checkVal')}",
            data:"t="+t+"&v="+v,
            async: false,
            success:function(data){
                res = data;
            }
        });
        return res;
    }
    public function ajax(){
            $todo = $this->_request('todo','trim');
            switch ($todo) {
                case 'checkVal':
                    $t = $this->_request('t','trim');
                    $v = $this->_request('v','trim');
                    if(empty($t) || empty($v)){
                        exit('0');
                    }
                    $agentModel = M('Agent');
                    if($t == 'email'){
                        $count_email = $agentModel->where(array('email'=>$v))->count();
                        if($count_email > 0){
                            exit('1');
                        }
                    }
    
                    if($t == 'tel'){
                        $count_tel = $agentModel->where(array('tel'=>$v))->count();
                        if($count_tel > 0){
                            exit('1');
                        }
                    }
                    break;
                
                default:
                    # code...
                    break;
            }
        }

    效果

    两秒后红色提示将消失

  • 相关阅读:
    Cs Round#54 E Late Edges
    Cs Round#54 D Spanning Trees
    python装饰器的理解
    java序列化,二进制和数据流
    netty的理解
    CenterOS卸载和安装MYSQL
    oracle的一些问题
    tomcat优化方案(转)
    Selector
    Buffer
  • 原文地址:https://www.cnblogs.com/jiqing9006/p/5009833.html
Copyright © 2011-2022 走看看