表单的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'>×</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'>×</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'>×</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
- 表单的validate验证 以及serialize方式提交
- Form表单利用Jquery Validate验证以及ajax提交
- jquery validate 在ajax提交表单下的验证方法
- validate的表单验证
- jquery---------ajax+validate表单异步提交验证
- jquery---------ajax+validate表单异步提交验证
- jquery---ajax异步提交+validate表单验证
- validate验证+jquery+ajax提交表单
- jquery---------ajax+validate表单异步提交验证
- ASP.NET MVC Jquery Validate 表单验证的多种方式
- jquery validate表单验证插件制作注册表单验证提交
- Jquery的validate表单验证
- summernote富文本编辑器配合validate表单验证无法进行表单提交的问题
- Form表单提交验证方式
- 表单提交数据的方式,以及避免数据重复提交
- 表单提交的验证
- 异步提交form的时候利用jQuery validate实现表单验证
- 如何在异步提交form的时候利用jQuery validate实现表单验证
- Android仿iOS7的UISegmentedControl 分段
- Java序列化与反序列化
- Extjs中常用表单介绍与应用
- Maven: could not resolve archetype
- 二叉树的实现
- 表单的validate验证 以及serialize方式提交
- Packagist / Composer 中国全量镜像
- Android 如何在service和BroadCastReceiver中 启动activity和alertdialog?
- SpringAOP注解方式监控方法执行情况
- [LeetCode]118. Pascal's Triangle
- QML中的SpringAnimation弹簧震荡动画
- 【bzoj1833】[ZJOI2010]count 数字计数 数位DP
- 搜集的大牛BLOG,持续更新...
- 使用springMVC前台form表单传送数据后台接收数据乱码