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

 更新时间:2016年11月02日 11:08:25   作者:bboyjoe  
本篇文章主要介绍了用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; 
    } 
  }); 
   
}]); 

显示效果:

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

相关文章

  • Angular组件间通信的新解决方案详解

    Angular组件间通信的新解决方案详解

    本文通过对比几种Angular组件间的通信方式,给大家介绍了一种新的Angular组件间通信的解决方案,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • Angularjs中使用Filters详解

    Angularjs中使用Filters详解

    本文给大家总结了下在Angularjs的模板、控制器、或者服务中使用Filters的方法,有需要的小伙伴可以参考下
    2016-03-03
  • AngularJS实现单一页面内设置跳转路由的方法

    AngularJS实现单一页面内设置跳转路由的方法

    这篇文章主要介绍了AngularJS实现单一页面内设置跳转路由的方法,结合实例形式分析了AngularJS路由操作相关设置与使用技巧,需要的朋友可以参考下
    2017-06-06
  • angular forEach方法遍历源码解读

    angular forEach方法遍历源码解读

    这篇文章主要为大家详细了angular forEach方法遍历源码,forEach()方法用于遍历对象或数组,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-01-01
  • AngularJS自定义表单验证功能实例详解

    AngularJS自定义表单验证功能实例详解

    这篇文章主要介绍了AngularJS自定义表单验证功能,结合完整实例形式详细分析了AngularJS实现表单验证的相关指令、模型绑定、数据验证等操作技巧,需要的朋友可以参考下
    2018-08-08
  • 深入理解Angular中的依赖注入

    深入理解Angular中的依赖注入

    本篇文章主要介绍了深入理解Angular中的依赖注入,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • angular2使用简单介绍

    angular2使用简单介绍

    Angular2开发者预览版出来已有一段时间,这个以速度与移动性能为目的的框架到底如何,今天我们来结合官网的demo尝试一下。
    2016-03-03
  • 详解AngularJS ng-class样式切换

    详解AngularJS ng-class样式切换

    本篇文章主要介绍了详解AngularJS ng-class样式切换,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • 在AngularJS中如何使用谷歌地图把当前位置显示出来

    在AngularJS中如何使用谷歌地图把当前位置显示出来

    这篇文章给的大家介绍在AngularJS中如何使用谷歌地图把当前位置显示出来,本文介绍的非常详细,具有参考借鉴价值,对angularjs 谷歌地图相关知识感兴趣的朋友一起学习吧
    2016-01-01
  • 详解Ubuntu安装angular-cli遇到的坑

    详解Ubuntu安装angular-cli遇到的坑

    这篇文章主要介绍了详解Ubuntu安装angular-cli遇到的坑,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-09-09

最新评论