用AngularJS来实现监察表单按钮的禁用效果

这篇博文主要是写给新手的,是给那些刚刚开始接触Angular,并且想了解数据绑定是如何工作的人。

这里主要是用到了$watch监察数据的变化,并用正则判断数据是否符合要求。

关键HTML代码:

<div class="row row-form">
   <div class="col col-form">
    <div class="list">
     <div class="row row-code">
      <div class="col col-60 col-mobile">
       <label class="item item-input mobile-btn">
        <input type="text" placeholder="手机号" name="mobile_num" id="mobile_num" ng-model="mobileNum">
       </label>
      </div>
      <div class="col col-40 col-code">
        <input type="button" class="button button-block code-btn" id="get_num_btn" ng-click="getCode()" ng-value="info" ng-disabled="isDisabled">
      </div>
     </div> 

     <label class="item item-input">
      <input type="text" placeholder="验证码" name="check_num" id="check_num" ng-model="codeNum">
     </label>
     <button class="button button-block button-my-style" id="submit_btn" ng-click="submit()" ng-disabled="isSubmitted">提 交</button>
    </div>
   </div>
  </div>

关键CSS代码:

 .col-form{
 padding: 5% 2%;
 margin-bottom: 10%;
}
.col-form .list label{
  margin-bottom:0.2rem;
  border-radius: 0.5rem;
}
.col-form .list input{
 font:normal 1rem fzltxhjw;
}
.item-my-style{
 padding: 0.5rem;
}
.row-code{
 padding-left: 0;
 padding-right: 0;
}
.button.code-btn{
 margin:0;
 border-radius: 0.5rem;
 background-color: #ffba07;
 color: #51110a;
}
.col-mobile{
 padding-left: 0;
}
.col-code{
 padding-right: 0;
}

这里主要是AngularJS的代码部分:

var myApp=angular.module('myApp', ['ionic']);
myApp.controller("FirstController",["$scope",function($scope){
  //监察手机号
  $scope.isDisabled=true;
  $scope.mobileNum="";
  $scope.mobileVal=function(){
    return $scope.mobileNum;
  };
  $scope.$watch($scope.mobileVal,function(newValue,oldValue){
    var regex = /^(13[0-9]|14[0-9]|15[0-9]|17[0-9]|18[0-9])\d{8}$/;
    if(regex.test(newValue)){
      $scope.isDisabled=false;
    }else{
      $scope.isDisabled=true;
    }
  });
  //监察验证码
  $scope.isSubmitted=true;
  $scope.codeNum="";
  $scope.codeVal=function(){
    return $scope.codeNum;
  };
  $scope.$watch($scope.codeVal,function(newValue,oldValue){
    if(newValue.length==4){
      $scope.isSubmitted=false;
    }else{
      $scope.isSubmitted=true;
    }
  }); 

}]);

显示效果:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • ionic+AngularJs实现获取验证码倒计时按钮

    按钮功能为:点击"获取验证码"--按钮不可用-设置倒计时-60秒后重新获取. 主要实现原理:点击后,设置一个$interval,每一秒更改一次剩余时间,并依赖Angular数据绑定实时显示在页面中.设置一个$timeout,60秒后将按钮初始化到可用状态. 实现代码: (1)js代码,设置成一个directive以便多次调用. angular.module('winwin').directive('timerbutton', function($timeout, $interval){

  • 使用AngularJS2中的指令实现按钮的切换效果

    之前在AngularJS2中一种button切换效果的实现(二)中实现了按钮的切换效果,但是方法比较low,这次我们使用Angular2的指令来实现. 指令实现hover效果 import { Directive, ElementRef, HostListener, Input } from '@angular/core'; @Directive({ selector: '[myHighlight]' }) export class HighlightDirective { constructo

  • 使用AngularJS编写多选按钮选中时触发指定方法的指令代码详解

    最近在做项目时,遇到了需要用到多选按钮选中触发事件的功能,因此我查找了一下AngularJS的提供的指令,但是没有发现相应的指令.而一个看起来很像的指令就是ng-checked,但是这个指令是用来代替标签里面checked属性的,所以也用不了.因此我就自己动手试着写一个这样的指令,相应的代码如下: <form name="test_form" ng-controller="TestCtrl"> <input type="checkbox&

  • 妙用Angularjs实现表格按指定列排序

    使用AngularJS的过滤器,可以很容易的实现在表格中,点击某一列标题进行排序,实现过程如下: html代码: <table class="table table-border" ng-app="myapp" ng-controller="orderByCtrl"> <thead> <tr> <th>inx</th> <th ng-click="col='name';d

  • AngularJS实现按钮提示与点击变色效果

    本文用angularJS简单实现了一个小的按钮提示,按钮点击后会变色,注意html文件中需要引入jquery.js和angular.js 运行截图: 当点击按钮的时候 按钮的样式改变: css代码: <style type="text/css"> *{margin: 0px;padding: 0px;} .bucSelectedButton{width: 100px;line-height: 30px;text-align: center;position: relativ

  • 用AngularJS来实现监察表单按钮的禁用效果

    这篇博文主要是写给新手的,是给那些刚刚开始接触Angular,并且想了解数据绑定是如何工作的人. 这里主要是用到了$watch监察数据的变化,并用正则判断数据是否符合要求. 关键HTML代码: <div class="row row-form"> <div class="col col-form"> <div class="list"> <div class="row row-code"

  • AngularJS学习笔记之表单验证功能实例详解

    本文实例讲述了AngularJS学习笔记之表单验证功能.分享给大家供大家参考,具体如下: 一.执行基本的表单验证 <!DOCTYPE html> <html ng-app='exampleApp'> <head> <meta charset="UTF-8"> <title>表单</title> <script src="../../js/angular.min.js" type="

  • 详细分析使用AngularJS编程中提交表单的方式

    在AngularJS出现之前,很多开发者就面对了表单提交这一问题.由于提交表单的方式繁杂而不同,很容易令人疯掉--然而现在看来,依然会让人疯掉. 今天,我们会看一下过去使用PHP方式提交的表单,现在如何将其转换为使用Angular提交.使用Angular来处理表单,对我而言,是一个"啊哈"时刻(译者:表示了解或发现某事物的喜悦).即使它甚至都没有涉及多少Angular表层的东西,但是它却帮助用户看到表单提交之后的潜力,并且理解两种数据绑定方式. 我们会使用jQuery平台来进行这个处理

  • AngularJS使用angular-formly进行表单验证

    当验证表单中有很多字段时,这时候可能希望把html的生成以及验证逻辑放到controller中,在页面,也许是这样的: <some-form fiedls="vm.someFields" ...></some-form> 然后,在controller中定义各个字段以及验证.angular-formly就是为这个需求而存在. 在controller中,把各个字段定义在数组中: vm.rentalFields = [ { key:'first_name', type

  • 全面解析Bootstrap表单使用方法(表单按钮)

    一.多标签支持 一般制作按钮除了使用<button>标签元素之外,还可以使用<input type="submit">和<a>标签等. 同样,在Bootstrap框架中制作按钮时,除了刚才所说的这些标签元素之外,还可以使用在其他的标签元素上,唯一需要注意的是,要在制作按钮的标签元素上添加类名".btn". <button class="btn btn-default" type="button&

  • AngularJS入门教程之表单校验用法示例

    本文实例讲述了AngularJS表单校验用法.分享给大家供大家参考,具体如下: 表单数据的校验对于提高WEB安全性意义不大,因为服务器接收到的请求不一定来自我们的前端页面,有可能来自别的站点,黑客可以自己做一个表单,把数据提交到我们的服务器(即跨站伪造请求),这样就绕过了前端页面的校验.如果对HTTP协议比较熟,甚至还可以在程序中手动构造一段HTTP请求发到服务器,所以服务器端的数据校验绝对是必不可少的. WEB前端数据校验的意义在于改善用户体验,用户不用等到將数据提交到服务器后才知道哪些数据是

  • AngularJs实现ng1.3+表单验证

    前一篇文章详解AngularJS实现表单验证说过,ng1.3+以后对于表单验证有了优化,它不再需要一个详细的表达式状态创建元素显示或隐藏. 例如:我们在ng1.3之前的版本都需要如下写法: 复制代码 代码如下: <div class="error" ng-show="signup_form.name.$dirty && signup_form.name. $invalid && signup_form.submitted">

  • AngularJS使用ngMessages进行表单验证

    AngularJS 诞生于2009年,由Misko Hevery 等人创建,后为Google所收购.是一款优秀的前端JS框架,已经被用于Google的多款产品当中.AngularJS有着诸多特性,最为核心的是:MVVM.模块化.自动化双向数据绑定.语义化标签.依赖注入等等. 名称为"ngMessages"的module,通过npm install angular-messages进行安装.在没有使用ngMessages之前,我们可能这样写验证: <form name="

  • iOS中的表单按钮选项UIActionSheet常用方法整理

    什么是操作表单?看图: 一看图就明白了,毋需多说. 复制代码 代码如下: UIActionSheet* mySheet = [[UIActionSheet alloc]                             initWithTitle:@"ActionChoose"                              delegate:self                              cancelButtonTitle:@"Cance

  • Angularjs使用指令做表单校验的方法

    前言 通常,使用angular做表单验证,一般都是把验证规则单独写为service,然后通过依赖注入的方式调用.在个别情况下,例如用户注册表单,需要根据用户输入给出不同提示信息,使用service略显不合适宜,所以可以采用指令的方式. 简易表单 如下为一个简易表单,有四项提示信息,依据状态呈现.校验规则为数字,大写字母,小写字母至少出现两项,通过正则配合ng-pattern能够实现相同的效果,此处仅为引入指令校验,不做深究.其中,user-validator为自定义指令. <form class

随机推荐