• 自制简单表单验证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;
            }
        }

    效果

    两秒后红色提示将消失

  • 相关阅读:
    XML认识
    servlet清晰理解
    JDBC基本知识
    JSP中的路径
    JavaBean基础
    JSP执行过程详解
    JDBC连接mysql
    JSP简易留言板
    Jmeter性能测试之基础知识(一)
    linux下安装redis并开机自启动
  • 原文地址:https://www.cnblogs.com/jiqing9006/p/5009833.html
Copyright © 2020-2023  润新知