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 相关文章推荐
JS创建类和对象的两种不同方式
Aug 08 Javascript
jQuery+css3实现文字跟随鼠标的上下抖动
Jul 31 Javascript
jQuery实现模拟flash头像裁切上传功能示例
Dec 11 Javascript
总结几道关于Node.js的面试问题
Jan 11 Javascript
js 判断数据类型的几种方法
Jan 13 Javascript
深入理解JavaScript中的for循环
Feb 07 Javascript
Angular2使用jQuery的方法教程
May 28 jQuery
JavaScript实现body内任意节点的自定义属性功能示例
Sep 18 Javascript
详谈vue+webpack解决css引用图片打包后找不到资源文件的问题
Mar 06 Javascript
详解Js里的for…in和for…of的用法
Mar 28 Javascript
angular多语言配置详解
May 16 Javascript
JQuery获得内容和属性方法解析
May 30 jQuery
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
用PHP制作静态网站的模板框架(三)
2006/10/09 PHP
php数组函数序列之ksort()对数组的元素键名进行升序排序,保持索引关系
2011/11/02 PHP
THinkPHP获取客户端IP与IP地址查询的方法
2016/11/14 PHP
PHP开发的微信现金红包功能示例
2017/06/29 PHP
使两个iframe的高度与内容自适应,且相等
2006/11/20 Javascript
jquery获得下拉框值的代码
2011/08/13 Javascript
JS比较2个日期间隔的示例代码
2014/04/15 Javascript
JS实现自适应高度表单文本框的方法
2015/02/25 Javascript
浅谈document.write()输出样式
2015/05/07 Javascript
在Mac OS上安装使用Node.js的项目自动化构建工具Gulp
2016/06/18 Javascript
angularjs 中$apply,$digest,$watch详解
2016/10/13 Javascript
VueJS全面解析
2016/11/10 Javascript
jquery实现点击页面回到顶部
2016/11/23 Javascript
BootStrap实现轮播图效果(收藏)
2016/12/30 Javascript
Javarscript中模块(module)、加载(load)与捆绑(bundle)详解
2017/05/28 Javascript
微信小程序自定义toast实现方法详解【附demo源码下载】
2017/11/28 Javascript
利用js给datalist或select动态添加option选项的方法
2018/01/25 Javascript
vue实现条件判断动态绑定样式的方法
2018/09/29 Javascript
Vue 解决路由过渡动画抖动问题(实例详解)
2020/01/05 Javascript
vue+ts下对axios的封装实现
2020/02/18 Javascript
pytyon 带有重复的全排列
2013/08/13 Python
python自动安装pip
2014/04/24 Python
线程安全及Python中的GIL原理分析
2019/10/29 Python
python定义具名元组实例操作
2021/02/28 Python
CSS3 input框的实现代码类似Google登录的动画效果
2020/08/04 HTML / CSS
使用css3 属性如何丰富图片样式(圆角 阴影 渐变)
2012/11/22 HTML / CSS
Original Penguin英国官方网站:美国著名休闲时装品牌
2016/10/30 全球购物
土耳其家居建材网站:Koçtaş
2016/11/22 全球购物
体育系毕业生求职自荐信
2014/04/16 职场文书
幼儿园门卫岗位职责范本
2014/07/02 职场文书
客房领班岗位职责
2015/02/11 职场文书
研究生给导师的自荐信
2015/03/06 职场文书
酒店办公室主任岗位职责
2015/04/01 职场文书
2015年初中教务处工作总结
2015/07/21 职场文书
MySQL infobright的安装步骤
2021/04/07 MySQL
索尼ICF-36收音机评测
2022/04/30 无线电