• myForm.js


    根据控件名,重现一些特殊的表单项,生成html

    var can_submit = true;
    
    function myForm($form_id, $id_value, province, city, district){
        var theForm        = $('#'+$form_id);
        province = province || 6;
    
        //第一步,重现一些特殊的表单项(地区控件、相册控件)
        $(theForm).find('div').each(function(){
            var _this = $(this);
            //地区列表控件
            if(_this.attr('data-role') == 'position'){
                Create_Position(_this, {'province':province, 'city':city, 'district':district});
            }
    
            //相册上传控件
            if(_this.attr('data-role') == 'album'){
                Create_Album(_this, $id_value, 60, 54);
            }
        });
    
        $(theForm).find('td').each(function(){
            $(this).append("&nbsp;&nbsp;&nbsp;<span class='tip'></span>");
        });
    
        //第二步,对特殊表单进行输入限制(必填、电话、手机、邮箱、QQ、时间)
        $(theForm).find('textarea').each(function(){
            var _this = $(this);
            if(_this.attr('data-required') == 'true'){
                _this.blur(function(){
                    check_required($(this));
                });
            }
        });
    
        $(theForm).find('input').each(function(){
            var _this = $(this);
            var input_type = _this.get(0).type;
    
            if(_this.attr('data-role') == 'tel'){
                _this.blur(function(){
                    check_tel($(this));
                });
            }
    
            if(_this.attr('data-role') == 'phone'){
                _this.blur(function(){
                    check_phone($(this));
                });
            }
    
            if(_this.attr('data-role') == 'email'){
                _this.blur(function(){
                    check_email($(this));
                });
            }
    
            if(_this.attr('data-role') == 'qq'){
                _this.blur(function(){
                    check_qq($(this));
                });
            }
    
            if(_this.attr('data-role') == 'timer'){
                _this.attr('readonly','readonly');
                _this.attr('onclick','new WdatePicker();');
            }
    
            if(_this.attr('data-required') == 'true'){
                _this.blur(function(){
                    check_required($(this));
                });
            }
        });
    
    
    
        //提交表单前,再次验证表单项
        theForm.submit(function(){
            can_submit = true;
            $(theForm).find('textarea').blur();
            $(theForm).find('input').blur();
            //check_album();
    
            //简介
            if($('#short')) $('#short').html($("div[data-role='short']").html());
    
            return can_submit;
        });
    }
    
    
    function check_required(_this){
        var tip     = _this.next('.tip');
        var val     = _this.val() || _this.html();
        if(val == ''){
            tip.html('此项为必填项!');
            can_submit = false;
        }else{
            tip.html('');
            if(_this.attr('data-role') == 'tel') return check_tel(_this);
    
            if(_this.attr('data-role') == 'phone') return check_phone(_this);
    
            if(_this.attr('data-role') == 'email') return check_email(_this);
    
            if(_this.attr('data-role') == 'qq') return check_qq(_this);
        }
    }
    
    
    function check_tel(_this){
        var tip = _this.next('.tip');
        var val = _this.val();
        if(!is_tel(val)){
            tip.html('电话格式错误!');
            can_submit = false;
        }else{
            tip.html('');
        }
    }
    
    
    function check_phone(_this){
        var tip = _this.next('.tip');
        var val = _this.val();
        if(!is_phone(val)){
            tip.html('手机格式错误!');
            can_submit = false;
        }else{
            tip.html('');
        }
    }
    
    
    function check_email(_this){
        var tip = _this.next('.tip');
        var val = _this.val();
        if(!is_email(val)){
            tip.html('邮箱格式错误!');
            can_submit = false;
        }else{
            tip.html('');
        }
    }
    
    
    function check_qq(){
        var tip = $(this).next('.tip');
        var val = $(this).val();
        if(!is_qq(val)){
            tip.html('QQ格式错误!');
            can_submit = false;
        }else{
            tip.html('');
        }
    }
    
    
    function check_album(){
        if($('#show').length > 0){
            var tip = $("div[data-role='album']").next('.tip');
            if($('#show').html() == ''){
                tip.html('请上传相册!');
                can_submit = false;
            }else{
                tip.html('');
            }
        }
    }
  • 相关阅读:
    一行代码跨平台适配颠覆传统手机建站模式
    struts2接收参数的几种形式<转>
    MyEclipse生成多对多映射文件和POJO <转>
    Hibernate延迟加载机制
    Hibernate常见面试知识点<转>
    Hibernate一级缓存详解
    App Icon and Launch Images for iOS7.0 or Later
    iOS7 UITextView 光标问题
    iOS中让颜色赋值简单一点吧
    iOS状态栏变文字颜色改变
  • 原文地址:https://www.cnblogs.com/tujia/p/6118929.html
Copyright © 2020-2023  润新知