Javascript 允许记住密码以使用AngularJS

Javascript 允许记住密码以使用AngularJS,javascript,angularjs,passwords,Javascript,Angularjs,Passwords,好吧,我花了一上午的时间试图解决这个问题,尽管这似乎已经是一个问题好几年了,但我找不到一个有效的解决方案。我见过Stack Overflow上的其他人问这个问题,但他们都没有有效的答案 我的Angular应用程序的登录表单工作正常,但Chrome或Opera中都不会弹出“记住密码”对话框。它在Firefox中确实有效。我理解它为什么不起作用,但我的用户在抱怨,我需要修复它。我能做什么 <form name="loginForm" ng-submit="login(user)">

好吧,我花了一上午的时间试图解决这个问题,尽管这似乎已经是一个问题好几年了,但我找不到一个有效的解决方案。我见过Stack Overflow上的其他人问这个问题,但他们都没有有效的答案

我的Angular应用程序的登录表单工作正常,但Chrome或Opera中都不会弹出“记住密码”对话框。它在Firefox中确实有效。我理解它为什么不起作用,但我的用户在抱怨,我需要修复它。我能做什么

<form name="loginForm" ng-submit="login(user)">
  <div class="input-group">
    <input type="email" name="email" class="form-control" placeholder="Email" ng-model="user.email">
  </div>
  <div class="input-group">
    <input type="password" name="password" class="form-control" placeholder="Password" ng-model="user.password">
  </div>
  <button type="submit" class="btn btn-default">Login</button>
</form>

登录
编辑: 好的,从两个不起作用的不同答案中,我能够拼凑出一些最终起作用的东西,简单地将其转换为一个完全正常的HTML表单,其中按钮为type=“submit”,然后简单地在我的javascript中放入一个jQuery.click命令,该命令调用登录函数。所以基本上,我完全忽略了这种有棱角的方式,这让我成了一只悲伤的熊猫Opera仍然不起作用,但我想我对此并不在意。

这是来自的代码。我不相信信用

app.directive(“ngLoginSubmit”,function()){
返回{
限制:“A”,
范围:{
onSubmit:“=ngLoginSubmit”
},
链接:函数(范围、元素、属性){
$(元素)[0]。onsubmit=function(){
$(“#login login”).val($(“#login”,element.val());
$(“#登录密码”).val($(“#密码”,元素).val());
scope.onSubmit(函数(){
$(“#登录表单”)[0]。提交();
});
返回false;
};
}
};
});
$scope.login=函数(提交){
$scope.user={
登录名:$(“#登录名”).val(),
密码:$(“#密码”).val()
};
函数ajaxCallback(){
提交();
}   
返回false;
};

使用AngularJS和不使用jQuery的解决方案:

<form action="/" method="post" onsubmit="return false;">
    <input type="text" name="username" autocomplete="on" id="email" ng-model="user.email">
    <input type="password" id="password" name="password" autocomplete="on" ng-model="user.password">
    <button type="submit" ng-click="login()">Submit</button>
</form>

提交
解释


您应该在
表单
标记中具有
操作
属性,以及带有
type=submit
属性的
按钮
。要防止页面重新加载,请将
onsubmit=“return false;”
添加到
表单
标记中。很简单:)

为什么它在Chrome或Opera中不起作用?斯塔福德,我不确定Opera,尽管我认为它是一样的。这是因为Chrome寻找要提交的HTML表单,Angular会覆盖整个表单过程,实际上不会提交表单。我以前尝试过mukhanblogs方法,但无法实现。我希望找到一种不需要jQuery的Angular解决方案。在我的应用程序中包含所有jQuery似乎有点奇怪。虽然如果这就是它所需要的,那么我想就这样吧-\不是我的代码:\。。。只是一个解决方案,我突然想到了。发布它是因为链接中断。