2016-08-05 2 views
0

등록 양식에 문제가 하나 있습니다. 로그인하면 브라우저가 사용자 이름/암호를 저장하도록 제안합니다. 등록 양식에 표시됩니다. 양식을 재설정하려고 시도했지만 사용자 세부 정보를 null로 설정하려고 시도했지만 작동하지 않았습니다. 사용자 이름과 암호가 미리 정의되어 있으므로 반복 암호 오류가 있습니다. 여기 각도 js에서 등록 양식을 재설정하는 방법

스냅을 enter image description here

등록 컨트롤러입니다

... 
    registerController.$inject = ['$location', 'UsersService', '$timeout']; 

    function registerController($location, UsersService, $timeout) { 
     var vm = this; 
     vm.master = {}; 
     vm.isValid = false; 
     vm.error = false; 
     vm.errorMessage = ""; 
     vm.user = { 
     username : '', 
     password : '', 
     email: '' 
     } 
     formReset(); 

     // function to submit the form after all validation has occurred 
     vm.submitForm = function(isValid) { 

     // check to make sure the form is completely valid 
     if (isValid) { 
      console.info('form valid'); 
      vm.isValid = true; 
     } 
     if(vm.isValid === true){ 
      signup(); 
     } 
     else{ 
      vm.error = true; 
      vm.errorMessage = "All fields are required"; 
     } 
     }; 

     function signup() { 
     // initial values 
     vm.error = false; 
     vm.success = false; 
     var username = vm.user.username; 
     var password = vm.user.password; 
     // call register from service 
     UsersService.register(username, password) 
      // handle success 
      .then(function() { 
      vm.success = true; 
      vm.successMessage = "Registrations successful.You'll get confirmation email soon and you can proceed with login"; 
      $timeout(function() { 
       $location.path('/login'); 
       }, 5000); 
      }) 
      // Catch error 
      .catch(function (fallback) { 
      vm.error = true; 
      vm.errorMessage = fallback; 
      }); 

     }; 
     function formReset(form){ 
     if(form === '' || form === undefined){ 
      form = vm.form; 
     } 
     if(form){ 
      form.$setPristine(); 
      form.$setUntouched(); 
      form.$setValidity(); 

     } 
     vm.contact = angular.copy(vm.master); 
     } 

    } 

내가 스택 개발을 의미하는 새로운 꽤 많이 해요, 내가 '

form.form-horizontal.col-md-12(name="form" role="form", data-ng-submit="ctrl.submitForm(form.$valid)", method="post" novalidate, autocomplete="off") 
     .form-group(show-errors) 
     label.control-label.col-xs-3 Username 
      span.icon-req.glyphicon.glyphicon-asterisk 
     .col-xs-9 

      input.form-control(type="text", name="username", placeholder="Enter Username", data-ng-model="ctrl.user.username", data-user-id="{{ctrl.user._id}}", data-ng-minlength="3", required="required" auth-username) 

      span.help-inline.error(data-ng-show = "form.$dirty && form.username.$error.required") Username required 
      span.help-inline.error(data-ng-show = "form.$dirty && form.username.$error.minlength") Username too short 
      span.help-inline.error(data-ng-show = "ctrl.form.username.$touched && ctrl.form.username.$error.usernameExists") Username already taken 


     .form-group(show-errors) 
     label.control-label.col-xs-3 Password 
      span.icon-req.glyphicon.glyphicon-asterisk 
     .col-xs-9 

      input.form-control(type="password", name="password", placeholder="Password", data-ng-model="ctrl.user.password", data-ng-minlength="6",ng-maxlength="16", required="required") 

      span.help-inline.error(data-ng-show = "form.$dirty && form.password.$error.required") Password required 
      span.help-inline.error(data-ng-show = "form.$dirty && form.password.$error.minlength || form.password.$error.maxlength") Password must be 6-16 character long 

     .form-group(show-errors) 
     label.control-label.col-xs-3 Repeat password 
      span.icon-req.glyphicon.glyphicon-asterisk 
     .col-xs-9 

      input.form-control(type="password", name="repeatPassword", placeholder="Repeat Password", data-ng-model="ctrl.user.repeatPassword", data-ng-minlength="4",required="required", equal-to="ctrl.user.password") 

      span.help-inline.error(data-ng-show = "form.$dirty && form.repeatPassword.$error.equalTo") Password must be equal 

     .... 

    button.btn.btn-default(type="submit") Submit 

    a(href='/') 
    button.btn.btn-primary(type="button") Cancel 

옥 템플릿 나는 뭔가 빠뜨린 게 틀림 없다. 나는 감사한다. 우리의 도움. 감사합니다

PS : 게시 된 코드는 단순화 및

답변

1

그래서 일단 나는 HTML 자동 완성 특성과 시도를 최적화되어 있지 않습니다. 하지만 크롬에서는 작동하지 않았습니다. 그 후 나는이 게시물을 발견했다 Chrome Browser Ignoring AutoComplete=Off.

자동 완성을 비활성화하는 해결책 중 하나는 입력 읽기 전용을 설정하고 onfocus 속성에 js 비트를 추가하는 것입니다.

onfocus="this.removeAttribute('readonly') 

이 솔루션을 각형으로 테스트 해 보면 효과가 있습니다. 원래 fiddle에 의해 fizzix

+0

고마워, 그것은 작동합니다 :) 이건 단지 크롬을위한 것이 아니라 파이어 폭스뿐만 아니라 그것은 읽기 전용 attr을 사용자 이름에 추가하는 것으로 충분합니다) –

관련 문제