angular实现input输入监听的示例


Posted in Javascript onAugust 31, 2018

最近做用户注册登录时,需要监控用户的输入以此来给用户提示,用到了angular的$watch功能,以下是例子:

jsp:

<form class="register ng-scope" ng-app="regist_app" onsubmit="registSumbitValid()" ng-controller="regist_control">

 <div class="item">
  <input id="username" name="username" placeholder="请填写11位手机号码" class="input-item" ng-model="username" >
  <span class="warnning">{{username_error}}</span>
 </div>
</form>

这里需要添加ng-app以及ng-controller来规定一个angularApp的范围,再在input标签中添加ng-model属性,让angularjs根据这个属性来监听输入,根据输入把用户提示放到{{username_error}}中

js:

var usernameValid=false;
var registApp =angular.module('regist_app',[]);
registApp.controller('regist_control',function($scope){
 $scope.username="";
 $scope.username_error="";
 var phonePattern=/\D+/;
 /*验证号码输入*/
 $scope.$watch('username',function(newValue,oldValue){
  if(newValue!=oldValue){
   if(newValue==""){
    $scope.username_error="号码不能为空";
    usernameValid=false;
   }
   else if(phonePattern.test(newValue)){
    $scope.username_error='只能输入数字';
    usernameValid=false;
   }
   else if(newValue.length!=11){
    $scope.username_error='格式不正确,请输入11位号码';
    usernameValid=false;
   }else if(newValue.length==11){
    $scope.username_error="";
    usernameValid=true;
   }
  }
 });
}

scope.scope.watch(参数,function),这个参数就是input的ng-model的值。function的第一个参数是新的值,第二个参数是旧的值,可以判断newValue来给用户相应的提示,结合pattern来判断用户输入是否合法。一个Controller中可以有多个scope.scope.watch(),这里我只贴出一个input的验证方法,其他的都差不多。

usernameValid这个值用来记录当前的input输入是否合法,用于表单提交时根据usernameValid来判断。

效果截图:

angular实现input输入监听的示例

angular实现input输入监听的示例

angular实现input输入监听的示例

以上这篇angular实现input输入监听的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript 表单的友好用户体现
Jan 07 Javascript
JavaScript 代码压缩工具小结
Feb 27 Javascript
JavaScript splice()方法详解
Sep 22 Javascript
js中hash和ico的关联分析
Feb 05 Javascript
JS实现弹出居中的模式窗口示例
Jun 20 Javascript
AngularJS入门教程之更多模板详解
Aug 19 Javascript
webpack配置文件和常用配置项介绍
Apr 28 Javascript
通过一次报错详细谈谈Point事件
May 17 Javascript
微信小程序实现带缩略图轮播效果
Nov 04 Javascript
jQuery内容过滤选择器与子元素过滤选择器用法实例分析
Feb 20 jQuery
jQuery实现消息弹出框效果
Dec 10 jQuery
React中使用Vditor自定义图片详解
Dec 25 Javascript
vueJs实现DOM加载完之后自动下拉到底部的实例代码
Aug 31 #Javascript
Angular2中监听数据更新的方法
Aug 31 #Javascript
JavaScript使用prototype原型实现的封装继承多态示例
Aug 31 #Javascript
angular2组件中定时刷新并清除定时器的实例讲解
Aug 31 #Javascript
解决Angular4项目部署到服务器上刷新404的问题
Aug 31 #Javascript
Vue.directive使用注意(小结)
Aug 31 #Javascript
解决angular2 获取到的数据无法实时更新的问题
Aug 31 #Javascript
You might like
肝肠寸断了解下!盘点史上最伤心的十大动漫
2020/03/04 日漫
php自动跳转中英文页面
2008/07/29 PHP
PHP Class&amp;Object -- 解析PHP实现二叉树
2013/06/25 PHP
PHP网站建设的流程与步骤分享
2015/09/25 PHP
PHP中的session安全吗?
2016/01/22 PHP
阿里云Win2016安装Apache和PHP环境图文教程
2018/03/11 PHP
jQuery下拉菜单的实现代码
2016/11/03 Javascript
angularJs使用$watch和$filter过滤器制作搜索筛选实例
2017/06/01 Javascript
详解React-Native解决键盘遮挡问题(Keyboard遮挡问题)
2017/07/13 Javascript
浅谈Vue.js中的v-on(事件处理)
2017/09/05 Javascript
Vue通过URL传参如何控制全局console.log的开关详解
2017/12/07 Javascript
详解Vue2.0配置mint-ui踩过的那些坑
2018/04/23 Javascript
vue过滤器用法实例分析
2019/03/15 Javascript
基于Vue中使用节流Lodash throttle详解
2019/10/30 Javascript
element-ui和vue表单(对话框)验证提示语(残留)清除操作
2020/09/11 Javascript
three.js显示中文字体与tween应用详析
2021/01/04 Javascript
[02:53]DOTA2亚洲邀请赛 NewBee战队巡礼
2015/02/03 DOTA
python备份文件以及mysql数据库的脚本代码
2013/06/10 Python
Python3处理文件中每个词的方法
2015/05/22 Python
python基于右递归解决八皇后问题的方法
2015/05/25 Python
Django实现的自定义访问日志模块示例
2017/06/23 Python
python入门前的第一课 python怎样入门
2018/03/06 Python
Python 实现中值滤波、均值滤波的方法
2019/01/09 Python
Python面向对象程序设计之私有属性及私有方法示例
2019/04/08 Python
python 机器学习之支持向量机非线性回归SVR模型
2019/06/26 Python
印度尼西亚综合购物网站:Lazada印尼
2016/09/07 全球购物
美国最好的葡萄酒网上商店:Wine Library
2019/11/02 全球购物
现场施工员岗位职责
2014/03/10 职场文书
关于安全演讲稿
2014/05/09 职场文书
公司员工活动策划方案
2014/08/20 职场文书
公安纪律作风整顿剖析材料
2014/10/10 职场文书
2019个人年度目标制定攻略!
2019/07/12 职场文书
演讲开头怎么书写?
2019/08/06 职场文书
golang 定时任务方面time.Sleep和time.Tick的优劣对比分析
2021/05/05 Golang
详解缓存穿透击穿雪崩解决方案
2021/05/28 Redis
详解Java实现数据结构之并查集
2021/06/23 Java/Android