angular實(shí)現(xiàn)input輸入監(jiān)聽(tīng)的示例
最近做用戶(hù)注冊(cè)登錄時(shí),需要監(jiān)控用戶(hù)的輸入以此來(lái)給用戶(hù)提示,用到了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="請(qǐng)?zhí)顚?xiě)11位手機(jī)號(hào)碼" class="input-item" ng-model="username" >
<span class="warnning">{{username_error}}</span>
</div>
</form>
這里需要添加ng-app以及ng-controller來(lái)規(guī)定一個(gè)angularApp的范圍,再在input標(biāo)簽中添加ng-model屬性,讓angularjs根據(jù)這個(gè)屬性來(lái)監(jiān)聽(tīng)輸入,根據(jù)輸入把用戶(hù)提示放到{{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+/;
/*驗(yàn)證號(hào)碼輸入*/
$scope.$watch('username',function(newValue,oldValue){
if(newValue!=oldValue){
if(newValue==""){
$scope.username_error="號(hào)碼不能為空";
usernameValid=false;
}
else if(phonePattern.test(newValue)){
$scope.username_error='只能輸入數(shù)字';
usernameValid=false;
}
else if(newValue.length!=11){
$scope.username_error='格式不正確,請(qǐng)輸入11位號(hào)碼';
usernameValid=false;
}else if(newValue.length==11){
$scope.username_error="";
usernameValid=true;
}
}
});
}
scope.scope.watch(參數(shù),function),這個(gè)參數(shù)就是input的ng-model的值。function的第一個(gè)參數(shù)是新的值,第二個(gè)參數(shù)是舊的值,可以判斷newValue來(lái)給用戶(hù)相應(yīng)的提示,結(jié)合pattern來(lái)判斷用戶(hù)輸入是否合法。一個(gè)Controller中可以有多個(gè)scope.scope.watch(),這里我只貼出一個(gè)input的驗(yàn)證方法,其他的都差不多。
usernameValid這個(gè)值用來(lái)記錄當(dāng)前的input輸入是否合法,用于表單提交時(shí)根據(jù)usernameValid來(lái)判斷。
效果截圖:



以上這篇angular實(shí)現(xiàn)input輸入監(jiān)聽(tīng)的示例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
AngularJS實(shí)現(xiàn)ajax請(qǐng)求的方法
這篇文章主要介紹了AngularJS實(shí)現(xiàn)ajax請(qǐng)求的方法,結(jié)合實(shí)例形式分析了AngularJS實(shí)現(xiàn)ajax請(qǐng)求的前端界面、ajax交互及后臺(tái)php處理技巧,需要的朋友可以參考下2016-11-11
angularJs提交文本框數(shù)據(jù)到后臺(tái)的方法
今天小編就為大家分享一篇angularJs提交文本框數(shù)據(jù)到后臺(tái)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-10-10
快速解決angularJS中用post方法時(shí)后臺(tái)拿不到值的問(wèn)題
今天小編就為大家分享一篇快速解決angularJS中用post方法時(shí)后臺(tái)拿不到值的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-08-08
對(duì)angularJs中ng-style動(dòng)態(tài)改變樣式的實(shí)例講解
今天小編就為大家分享一篇對(duì)angularJs中ng-style動(dòng)態(tài)改變樣式的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-09-09
Angular實(shí)現(xiàn)購(gòu)物車(chē)計(jì)算示例代碼
本篇文章主要介紹了Angular實(shí)現(xiàn)購(gòu)物車(chē)計(jì)算示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-02-02
angular4中*ngFor不能對(duì)返回來(lái)的對(duì)象進(jìn)行循環(huán)的解決方法
今天小編就為大家分享一篇angular4中*ngFor不能對(duì)返回來(lái)的對(duì)象進(jìn)行循環(huán)的解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-09-09
利用Angular7開(kāi)發(fā)一個(gè)Radio組件的全過(guò)程
這篇文章主要給大家介紹了關(guān)于如何利用Angular7開(kāi)發(fā)一個(gè)Radio組件的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Angular7具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07
AngularJS入門(mén)教程之與服務(wù)器(Ajax)交互操作示例【附完整demo源碼下載】
這篇文章主要介紹了AngularJS與服務(wù)器Ajax交互操作的方法,可實(shí)現(xiàn)post傳輸數(shù)據(jù)的功能,并附帶完整的demo源碼供讀者下載參考,源碼中還包含了前面章節(jié)的示例文件,需要的朋友可以參考下2016-11-11
詳解基于Angular4+ server render(服務(wù)端渲染)開(kāi)發(fā)教程
本篇文章主要介紹了詳解基于Angular4+ server render(服務(wù)端渲染)開(kāi)發(fā)教程 ,具有一定的參考價(jià)值,有興趣的可以了解一下2017-08-08

