码迷,mamicode.com
首页 > Web开发 > 详细

AngularJS表单验证

时间:2015-07-22 12:29:26      阅读:105      评论:0      收藏:0      [点我收藏+]

标签:

AngularJS指令来处理focusblur事件(翻译博文,原博文地址:http://blog.ejci.net/2013/08/06/dealing-with-focus-and-blur-in-angularjs-directives/

AngularJS指令来处理focusblur事件

我正在开发一个app,这个app使用了AngularJS。我遇到一个问题,就是怎样给一个表单元素设置焦点。在AngularJS指令中没有ng-focus或者ng-blur。所以下面是我解决这个问题的一个方法,我没有说这是非常好的方法,只是我帮助我解决了这个问题而已。

?

问题描述

我有一个Web服务器,有时候需要从用户那里获取一些额外的信息。为了提升用户体验,我想在表单上添加焦点来获得使用者的注意。基本上,我发送一个post请求到服务器,并且从服务器获得响应,响应后需要用户填写一些额外的参数(安全证书,像:CaptchaGRID…).这个任务是要在页面上创建一个不错的覆盖(popup),然后在得到从服务器返回的响应之后让该表单元素得到焦点。

?

解决:

HTML代码

JavaScript代码

这很简单。通过自定义的指令my-focus来监听$scope.focusField1/2两个变量。如果这两个变量的值为true,触发焦点事件,同时焦点的监听器会将焦点设置在该元素上。

在失去焦点事件中,我定义了另外一个指令my-blur,该指令会调用为失去焦点事件定义的方法,如果失去焦点事件发生,该方法就会被调用,同时,焦点变量会重新变回false

总结,我必须改变作用域中的值去让页面中某个元素获取焦点,这样做我觉得并不好,但是我还没找到更好的办法。如果你有更好的解决办法,请让我知道。

AngularJS表单验证

标签:

原文地址:http://www.cnblogs.com/1000px/p/4666937.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!