表单的validate验证 以及serialize方式提交

来源:互联网 发布:孤烟暮蝉 知乎 编辑:程序博客网 时间:2024/05/16 12:23
页面:

<div class="applicants-banner text-center">
 <img src="static/images/home/applicants-bg.png" />
 <a class="btn-apply-358" data-toggle='modal' href='#modal-apply' role='button'>我要申请<i class="icon-hand"></i></a>
</div>
<div class="applicants-con text-center">
 <img src="static/images/home/applicants-con.png" />
 <a class="btn-apply-358" data-toggle='modal' href='#modal-apply' role='button'>我要申请</a>
</div>


<div class='modal hide fade' id='modal-apply' role='dialog' tabindex='-1'>
    <div class='modal-header'>
        <button class='close' data-dismiss='modal' type='button'>&times;</button>
        <h3>入驻申请</h3>
    </div>
    <form id="form-apply" class='form form-horizontal' method="post" action="/home/event/applys">
    <input type='hidden' id="ip_used" value="<?php if(isset($ip) && $ip==true)echo $ip;?>"/>
     <div class='modal-body'>
            <div class='control-group'>
                <label class='control-label'><span class="text-error">*</span> 姓名</label>
                <div class='controls'>
                    <input placeholder='请输入您的姓名' type='text' required name='name' id="name"/>
                </div>
            </div>
            <div class='control-group'>
                <label class='control-label'><span class="text-error">*</span> 手机号码</label>
                <div class='controls'>
                    <input placeholder='请输入您手机号码' type='tel' required name='phone' id="phone"/>
                </div>
            </div>
            <div class='control-group'>
                <label class='control-label'><span class="text-error">*</span> E-mail</label>
                <div class='controls'>
                    <input placeholder='请输入您的邮箱' type='mail' required name='email' id="email"/>
                </div>
            </div>
            <div class='control-group'>
                <label class='control-label'><span class="text-error">*</span> 店铺名称</label>
                <div class='controls'>
                    <input placeholder='请输入您的店铺名称' type='text' required name='shopname' id="shopname"/>
                </div>
            </div>
            <div class='control-group'>
                <label class='control-label'><span class="text-error">*</span> 店铺旺旺号</label>
                <div class='controls'>
                    <input placeholder='请输入您店铺旺旺号' type='text' required name='shop_ww' id="shop_ww"/>
                </div>
            </div>
            <div class='control-group'>
                <label class='control-label'><span class="text-error">*</span> 微信用户量</label>
                <div class='controls'>
                    <input placeholder='请输入您的微信用户量' type='text' required name='wx_num' id="wx_num"/>
                </div>
            </div>
            <div class='control-group'>
                <label class='control-label'><span class="text-error">*</span> 是否为老A学员</label>
                <div class='controls'>
                     <label class='radio inline'>
                        <input type='radio' name="is_vip" value='1' checked="true"/>
                        是
                    </label>
                    <label class='radio inline'>
                        <input type='radio' name="is_vip" value='0'  />
                        否
                    </label>
                </div>
            </div>
            <div class='control-group'>
                <label class='control-label'><span class="text-error">*</span> 学员账号</label>
                <div class='controls'>
                    <input placeholder='请输入您的学员账号' type='text' name='account_num' id='account_num' required/>
                </div>
            </div>
            <div class='control-group text-center text-error account_num_note'></div>
     </div>
     <div class='modal-footer'>
         <button class='btn btn-warning' type='submit'>确认提交</button>
     </div>
    </form>
</div>

<div class='modal hide fade modal-apply-success' id='modal-apply-success' role='dialog' tabindex='-1'>
    <div class='modal-header'>
        <button class='close' data-dismiss='modal' type='button'>&times;</button>
        <h3>入驻申请</h3>
    </div>
    <div class='modal-body text-center'>
     <i class="icon-success"></i>
     <h3>恭喜您,您的信息提交成功</h3>
     <h4>交流分享QQ群:<strong class="text-warning">218058020</strong></h4>
     <img src="/static/images/common/qr-hdqb.jpg" width="240" />
     <h4 class="text-warning f-s-16" style="margin-top:-10px;"><strong>微信扫一扫,了解更多资讯</strong></h4>
    </div>
    <div class='modal-footer'>
        <a href="/home" class='btn btn-warning'>返回首页</a>
    </div>
</div>

<div class='modal hide fade modal-apply-success' id='modal-notice' role='dialog' tabindex='-1'>
    <div class='modal-header'>
        <button class='close' data-dismiss='modal' type='button'>&times;</button>
        <h3>温馨提示</h3>
    </div>
    <div class='modal-body text-center'>
     <h4>亲,当前IP已经报名过,请勿重复提交申请!</h4>
    </div>
    <div class='modal-footer'>
        <a href="/home" class='btn btn-warning'>返回首页</a>
    </div>
</div>

<script src='/assets/javascripts/jquery/jquery.min.js' type='text/javascript'></script>
<script src='/assets/javascripts/bootstrap/bootstrap.min.js' type='text/javascript'></script>
<!-- / validate -->
<script src='/assets/javascripts/plugins/validate/jquery.validate.min.js' type='text/javascript'></script>
<script src='/assets/javascripts/plugins/validate/additional-methods.js' type='text/javascript'></script>


============================

<script>
 (function($){
  $('input[name="is_vip"]').click(function(){
   var val = $(this).val();
   if( val == 0 ){
    $(this).parents('.control-group').next().hide();
    $(this).parents('.control-group').next().find('input').attr('required',false);
   }else{
    $(this).parents('.control-group').next().show();
    $(this).parents('.control-group').next().find('input').attr('required',true);
   }
  })

 }(jQuery));
    (function($){
  $('#modal-apply-success').click(function(){
   $('#modal-apply-success').hide();
  })

 }(jQuery))
    window.onload = show_notice();
    function show_notice(){
        var ip=$('#ip_used').val();
        if(ip){
            $('#modal-notice').modal('show');
        }
    }
</script>
<script type='text/javascript'>
    //这里重做验证,改进validate的字段提示信息
    var validator = $('#form-apply').validate({
     rules:{
      name:{
                required:true
            },
            phone:{
                required:true,
                digits:true,
                rangelength:[11,11]
            },
            email:{
                required:true,
                email:true
            },
            shopname:{
                required:true,
            },
            shop_ww:{
                required:true,
            },
            wx_num:{
                required:true,
                digits:true
            },
            account_num:{
                required:true
            }
     },
     messages:{
      name:{
                required:"请输入姓名"
            },
            phone:{
                required:'请输入手机号码',
                digits:'请输入正确的手机号码',
                rangelength:'请输入11手机号码'
            },
            email:{
                required:"请输入邮箱地址",
                email:'请输入正确的邮箱地址'
            },
            shopname:{
                required:"请输入店铺名称"
            },
            shop_ww:{
                required:'请输入店铺旺旺号'
            },
            wx_num:{
                digits:'请输入正确的微信用户数',
                required:'请输入微信用户数'
            },
            account_num:{
                required:'请输入学员账号'
            }
     },
       
     submitHandler:function(form){
            $.ajax({
             type : "POST",
             url : "/home/event/applys",
             data :$("#form-apply").serialize(),
             async: false,
             dataType:"json",
             success : function(data) {
                 if(data.code == 0) {
                  $('.account_num_note').html(data.msg).show();
     } else if(data.code == 1) {
                       $('#modal-apply').modal('hide');
        $('#modal-apply-success').show().addClass('in');
     }
             }
         });
     }
    });
</script>

=========================================

处理脚本

请求页面:
//验证保存用户申请。同一ip地址不能重复申请
    function applys(){
        $ip=$this->_getIP();
        $post=$this->input->post();
        //获取客户端ip,并验证该ip有无申请报名过
        $res=$this->common_m->get_one('applys',array('ip'=>$ip));
        if($ip == is_array_set($res,'ip')){
            echo json_encode(array('code'=>0,'msg'=>'对不起,亲,该ip已经申请过了!'));die();
        }
        $result=$this->common_m->get_one('applys',array('phone'=>is_array_set($post,'phone')));
        if($result){
            echo json_encode(array('code'=>0,'msg'=>'对不起,亲,每个手机号只能申请一次!'));die();
        }
        if($this->user){
            $userinfo=$this->user;
            $uid=$userinfo['uid'];
        }else{
            $uid=0;
        }
 
        $is_vip=is_array_set($post, 'is_vip');
        if($is_vip==1){
           $account_num= is_array_set($post, 'account_num');
        }else{
            $account_num=null;
        }
  $data=array(
   'seller_id' =>$uid,
   'name' => is_array_set($post, 'name'),
   'phone' => is_array_set($post, 'phone'),
   'email'    => is_array_set($post, 'email'),
   'shopname' => is_array_set($post, 'shopname'),
   'shop_ww' => is_array_set($post, 'shop_ww'),
   'wx_num' => trim(is_array_set($post, 'wx_num')),
            'is_vip'    =>  $is_vip,
            'ip'        =>  $ip,
            'account_num'=> $account_num,
            'apl_time'  =>time()
  );
  if ($this->common_m->insert('applys',$data)) {
   echo json_encode(array('code'=>1,'msg'=>'亲,申请成功了!'));die();
  }
  else {
   echo json_encode(array('code'=>0,'msg'=>'对不起,亲,申请失败了!'));die();
  }
 
 }

0 0
原创粉丝点击