首页 > 编程 > JavaScript > 正文

在layui中使用form表单监听ajax异步验证注册的实例

2019-11-19 10:53:43
字体:
来源:转载
供稿:网友

今天给大家介绍的是当下很流行的框架layui中的一个小案例、就是form表单监控提交并且使用ajax异步提交验证数据。在layui中我们想使用哪个模块就要layui.use('form',function{});这种形式要引用form内置模板,下面是HTML全部代码

<!DOCTYPE html><html><head> <meta charset="utf-8"> <title>注册</title> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> <meta name="keywords" content="雷小天"> <meta name="description" content="雷小天博客-layui中使用form表单监听异步验证注册"> <link rel="stylesheet" href="__RES__/layui/css/layui.css" rel="external nofollow" > <link rel="stylesheet" href="__RES__/css/global.css" rel="external nofollow" ></head><body><div class="fly-header layui-bg-black"> <div class="layui-container"> <a class="fly-logo" href="{:U('device/getinfo')}" rel="external nofollow" >  <img src="__RES__/images/logo.png" alt="layui"> </a>  <ul class="layui-nav fly-nav-user">  <!-- 未登入的状态 -->  <li class="layui-nav-item">  <a class="iconfont icon-touxiang layui-hide-xs" href="user/login.html" rel="external nofollow" ></a>  </li>  <li class="layui-nav-item">  <a href="{:U('device/login')}" rel="external nofollow" rel="external nofollow" >登入</a>  </li>  <li class="layui-nav-item">  <a href="javascript::void;" rel="external nofollow" >注册</a>  </li>   </ul> </div></div><div class="layui-container fly-marginTop"> <div class="fly-panel fly-panel-user" pad20> <div class="layui-tab layui-tab-brief" lay-filter="user">  <ul class="layui-tab-title">  <li><a href="{:U('device/login')}" rel="external nofollow" rel="external nofollow" >登入</a></li>  <li class="layui-this">注册</li>  </ul>  <div class="layui-form layui-tab-content" id="LAY_ucm" style="padding: 20px 0;">  <div class="layui-tab-item layui-show">   <div class="layui-form layui-form-pane">   <form method="post">    <div class="layui-form-item">    <label for="L_username" class="layui-form-label">手机</label>    <div class="layui-input-inline">    <input type="text" id="signuppassdata" name="phone" required lay-verify="required" autocomplete="off" class="layui-input">    </div>    </div>    <div class="layui-form-item">    <label for="L_username" class="layui-form-label">卡号</label>    <div class="layui-input-inline">     <input type="text" id="cardno" name="cardno" required lay-verify="required" autocomplete="off" class="layui-input">    </div>    </div>    <div class="layui-form-item">        <button class="layui-btn" type="submit" lay-filter="reg" lay-submit="" id="signuppass" >立即注册</button>    </div>       </form>   </div>  </div>  </div> </div> </div></div><div class="fly-footer"> <p>开门社区 2018 © <a href="http://www.100txy.com/" rel="external nofollow" target="_blank">100txy.com 出品</a></p> <p><a href="JavaScript::void;" rel="external nofollow" target="_blank">雷小天博客</a></p></div><script src="__PUBLIC__/mobile/js/jquery.js"></script><script src="__RES__/layui/layui.js"></script><script>//监听提交layui.use('form', function(){ var form = layui.form; form.on('submit(reg)', function(data){ // layer.msg(JSON.stringify(data.field));//弹出json格式所有表单的值 var phone=data.field.phone; var cardno=data.field.cardno; if(phone.length!=11){  layer.msg('请输入有效的手机号码', {icon: 2});  return false; } var myreg = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+/d{8})$/; if(!myreg.test(phone)){  layer.msg('请输入有效的手机号码', {icon: 2});  return false; } if(cardno.length!=8){  layer.msg('请输入有效的卡片内码!', {icon: 2});  return false; } $.ajax({  type:"POST",  url:"index.php?m=Home&c=Device&a=ajax_reg",  data:"phone="+phone+"&cardno="+cardno,  dataType:"json",  success:function(data){  if(data.status=='yes'){   layer.msg('注册成功!', {icon: 1});   var url = "{:U('device/getinfo')}"; //成功跳转的url   setTimeout(window.location.href=url,2000);  }else{   layer.msg(data.msg, {icon: 2});  }  }, }); return false; });});</script></body></html>

下面是ajax_reg逻辑方面,这是我的业务逻辑大家没必要照搬,知道怎么用就行了

//表单异步提交 public function ajax_reg(){ if(isset($_POST['phone'])&&isset($_POST['cardno'])){  $roomnostr = M("userinfo")->where(array('cardno'=>$_POST['cardno']))->getField('roomno');  if(!$roomnostr){   echo json_encode(array('status'=>'no','msg'=>'无效的卡片内码,请联系管理员!'));   exit();  }  $wechatinfo=$_SESSION['wechatinfo'];  if(!$wechatinfo){   echo json_encode(array('status'=>'no','msg'=>'页面已过期请重新扫码进入!'));   exit();  }  $result= M("weixin")->where(array('openid'=>$wechatinfo['openid']))->field('is_signup,area_id')->find();  $areaArr=explode('-',$result['area_id']);  // $result=M("weixin")->getFieldByOpenid($_POST['openid'],'is_signup');  if(isset($result)&&$result['is_signup']==1){//如果注册过一次下次只更新门区  $new_area=$roomnostr;   $reg=M("weixin")->where(array('openid'=>$wechatinfo['openid']))->save(array('area_id'=>$new_area));   echo json_encode(array('status'=>'no','type'=>'signuppass','msg'=>'你已注册为该门区的租户,请勿重复注册!'));   exit();  }else{  $data=array(   'is_signup'=>1,   'phone'=>$_POST['phone'],   'openid'=>$wechatinfo['openid'],   'nickname'=>$wechatinfo['nickname'],   'sex'=>$wechatinfo['sex'],   'headimgurl'=>$wechatinfo['headimgurl'],   'area_id'=>$roomnostr,   'regtime'=>time(),   'cardno'=>$_POST['cardno'],  );  $reg=M("weixin")->add($data);  if($reg){   echo json_encode(array('status'=>'yes','msg'=>'恭喜你,注册成功!'));  }  } } }

以上这篇在layui中使用form表单监听ajax异步验证注册的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表