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中匿名函数的N种写法
Sep 08 Javascript
jquery实现弹出窗口效果的实例代码
Nov 28 Javascript
基于JS实现PHP的sprintf函数实例
Nov 14 Javascript
微信小程序 template模板详解及实例代码
Mar 09 Javascript
基于Vue实现timepicker
Apr 25 Javascript
Bootstrap table使用方法记录
Aug 23 Javascript
angular项目中bootstrap-datetimepicker时间插件的使用示例
Mar 15 Javascript
vue axios请求超时的正确处理方法
Apr 02 Javascript
AngularJS与BootStrap模仿百度分页的示例代码
May 23 Javascript
VueJS 组件参数名命名与组件属性转化问题
Dec 03 Javascript
javascript实现移动端触屏拖拽功能
Jul 29 Javascript
vue element el-transfer增加拖拽功能
Jan 15 Vue.js
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
ThinkPHP惯例配置文件详解
2014/07/14 PHP
PHP中static关键字以及与self关键字的区别
2015/07/01 PHP
php从数据库中读取特定的行(实例)
2017/06/02 PHP
laravel项目利用twemproxy部署redis集群的完整步骤
2018/05/11 PHP
laravel5表单唯一验证的实例代码
2019/09/30 PHP
一个javascript参数的小问题
2008/03/02 Javascript
使用jquery实现select添加实现后台权限添加的效果
2011/05/28 Javascript
Javascript 实现复制(Copy)动作方法大全
2014/06/20 Javascript
node.js中的path.delimiter方法使用说明
2014/12/09 Javascript
原生JS实现响应式瀑布流布局
2015/04/02 Javascript
基于jQuery倾斜打开侧边栏菜单特效代码
2015/09/15 Javascript
浅谈javascript中new操作符的原理
2016/06/07 Javascript
从0开始学Vue
2016/10/27 Javascript
vue实现element-ui对话框可拖拽功能
2018/08/17 Javascript
layui点击弹框页面 表单请求的方法
2019/09/21 Javascript
使用vuex存储用户信息到localStorage的实例
2019/11/11 Javascript
openLayer4实现动态改变标注图标
2020/08/17 Javascript
Python自定义一个类实现字典dict功能的方法
2019/01/19 Python
快速解决vue.js 模板和jinja 模板冲突的问题
2019/07/26 Python
python thrift 实现 单端口多服务的过程
2020/06/08 Python
Pycharm常用快捷键总结及配置方法
2020/11/14 Python
css和css3弹性盒模型实现元素宽度(高度)自适应
2019/05/15 HTML / CSS
美国最大的网上冲印店:Shutterfly
2017/01/01 全球购物
澳大利亚家具和家居用品在线:BROSA
2017/11/02 全球购物
英国家用电器购物网站:Hughes
2018/02/23 全球购物
微软新西兰官方网站:Microsoft New Zealand
2018/08/17 全球购物
印尼值得信赖的在线交易网站:Bukalapak
2019/03/11 全球购物
SQL Server的固定数据库角色都有哪些?对应的服务器权限有哪些?
2013/05/18 面试题
大龄毕业生求职别忘职业规划
2014/03/11 职场文书
1亿有多大教学反思
2014/05/01 职场文书
考生诚信考试承诺书
2014/05/23 职场文书
消防安全宣传标语
2014/06/07 职场文书
七一讲话心得体会
2014/09/05 职场文书
2014年大学生党员评议表自我评价
2014/09/20 职场文书
Mysql中调试存储过程最简单的方法
2021/06/30 MySQL
业余无线电通联Q语
2022/02/18 无线电