angularjs,浏览器的记住密码功能,不能使pwd这个文本框自动 watch?
来源:互联网 发布:win8硬盘安装linux系统 编辑:程序博客网 时间:2024/06/07 01:05
angularjs,浏览器的记住密码功能,不能使pwd这个文本框自动 watch?
浏览器有记住密码的功能,用户名一点,密码自动填写,angularjs不能获取到哦,呵呵,
作者:Guo Jonathan
链接:http://www.zhihu.com/question/24819178/answer/29092074
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
链接:http://www.zhihu.com/question/24819178/answer/29092074
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
谢邀。这不只是password的问题,而是browser autocomplete的原因。
解决方法可参见Form model doesn't update on autocomplete · Issue #1460 · angular/angular.js · GitHub 里mingue提供的方法。我按照他的方法创建了一个directive如下:
在你的form tag里加上这个directive就可以把autocomplete的值重新赋给这个form里除checkbox和radio的所有inputs.
可是这只是针对与你提交这个form,由server来handle请求。
如果你在form里使用了ngSubmit, 那就需要使用一点点dirty的手段,除了上面的directive,你需要$timeout module.
因为form 的ngSubmit处理比directive要优先。所以我使用如下代码解决这个问题。
HTML:
AngularJS controller:这个方法比较dirty, 换句话说,非常不严格,但是不出意外可以工作没有问题,设500ms的timeout时间不会太影响体验,但假如某些情况,directive处理时间超出500ms,你可以考虑增高这个值以加强稳定性,但势必会减少一些用户体验了。
希望有帮助,欢迎探讨。
解决方法可参见Form model doesn't update on autocomplete · Issue #1460 · angular/angular.js · GitHub 里mingue提供的方法。我按照他的方法创建了一个directive如下:
.directive('browserAutocompelteForm', function() { return { priority: 10, link: function(scope, element, attrs) { element.on('submit', function (ev) { $('input[ng-model]', element).each(function (index, item) { if (angular.element(this).attr('type') !== 'checkbox' && angular.element(this).attr('type') !== 'radio') { angular.element(this).controller('ngModel').$setViewValue($(this).val()); } }); }); } }; })
<form browser-autocomplete-form> <!-- inputs --> <input type="password" ng-model="pwd"></form>
如果你在form里使用了ngSubmit, 那就需要使用一点点dirty的手段,除了上面的directive,你需要$timeout module.
因为form 的ngSubmit处理比directive要优先。所以我使用如下代码解决这个问题。
HTML:
<form browser-remember-form on-submit="handleSubmit()"> <!-- inputs --> <input type="password" ng-model="pwd"></form>
myApp.controller('sampleCtrl', ['$scope', '$timeout', function($scope, $timeout) { $timeout(function() { //get your input values 获取input值 var pwd = $scope.pwd; }, 500);}]);
希望有帮助,欢迎探讨。
0 0
- angularjs,浏览器的记住密码功能,不能使pwd这个文本框自动 watch?
- 解决浏览器自动记住密码功能
- 浏览器记住密码后,密码框自动填充功能禁用
- 浏览器记住密码功能 Tab回车会自动填入
- 阻止浏览器记住密码功能
- 为了用户信息安全,屏蔽浏览器的记住密码功能
- 关于如何实现禁止浏览器记住账号、密码的功能
- html页面禁止自动填充浏览器记住的密码
- 浏览器记住密码,下次自动登录的实现
- 怎么禁止自动填充浏览器记住的密码
- 怎么禁止自动填充浏览器记住的密码?
- 自动登陆和记住密码功能的实现。
- php实现浏览器记住密码功能
- 防止360浏览器自动记住密码
- 解决浏览器自动记住密码问题
- 浏览器记住密码的隐患
- 实现记住密码和自动登录功能
- 记住密码,自动登录功能实现
- Hibernate 常见异常
- sudo 命令情景分析
- android studio遇到bosshelper:transformClassesWithInstantRunForDebug
- linux下安装openoffice将word转成PDF
- Apache配置虚拟目录和多主机头
- angularjs,浏览器的记住密码功能,不能使pwd这个文本框自动 watch?
- 欢迎使用CSDN-markdown编辑器
- KVO 和 KVC 的使用和实现
- 让TextView一行显示并且溢出部分用省略号显示
- oracle 自定义函数
- 极光推送
- Solr入门之官方文档6.0阅读笔记系列(五) 第二部分结束
- 异步加载
- angular好用的插件集合(持续更新中)