Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript keepass和angularjs:登录表单不';t触发器验证_Javascript_Angularjs_Controller_Autologin_Keepass - Fatal编程技术网

Javascript keepass和angularjs:登录表单不';t触发器验证

Javascript keepass和angularjs:登录表单不';t触发器验证,javascript,angularjs,controller,autologin,keepass,Javascript,Angularjs,Controller,Autologin,Keepass,我正在开发一个angularjs(v1.2.26)应用程序。我使用KeePass(v2.28)、chromeIPass 2.6.8(google chrome扩展)来填写凭证 我在登录表单中遇到了一个问题:Keepass允许自动完成(强制)用户名和密码字段 在此情况下,angurjs不检测该值,并将其视为无效> /强>(我不能连接)。 我尝试在下面做一些变通,但似乎每次都不行。 有没有办法解决这个问题 ng controller中使用的解决方法(并非每次都有效): 因为我切换到mechani

我正在开发一个angularjs(v1.2.26)应用程序。我使用KeePass(v2.28)、chromeIPass 2.6.8(google chrome扩展)来填写凭证

我在登录表单中遇到了一个问题:Keepass允许自动完成(强制)用户名和密码字段

在此情况下,angurjs不检测该值,并将其视为<强>无效> /强>(我不能连接)。

我尝试在下面做一些变通,但似乎每次都不行。 有没有办法解决这个问题


ng controller中使用的解决方法(并非每次都有效):

因为我切换到mechanism,所以我不再有这个登录表单

无论如何,我已经找到了这个使用“触发器”(将其放入登录控制器)的小解决方法。如果第三方(例如keepass插件)填写表单,则每秒检查一次的示例:

  $scope.needLogin = true;
  $scope.focusLogin = function() {
    // avoid 'form invalid' state when browser auto-complete form fields
    $('#LoginView_Username').trigger('input');
    $('#LoginView_Password').trigger('input');
    if (!$scope.loginForm.$invalid) {
      // commonService.info('ok, click on login button');
      $scope.needLogin = false;
    }
    if (!$scope.needLogin) {
      return;
    }
    setTimeout($scope.focusLogin, 1000);
  };
  $scope.needLogin = true;
  $scope.focusLogin = function() {
    // avoid 'form invalid' state when browser auto-complete form fields
    $('#LoginView_Username').trigger('input');
    $('#LoginView_Password').trigger('input');
    if (!$scope.loginForm.$invalid) {
      // commonService.info('ok, click on login button');
      $scope.needLogin = false;
    }
    if (!$scope.needLogin) {
      return;
    }
    setTimeout($scope.focusLogin, 1000);
  };