кнопка регистрации исчезнет после обновления страницы - PullRequest
0 голосов
/ 04 февраля 2019

У меня проблема с кнопкой регистрации при регистрации в качестве пользователя, на самом деле есть флажок для T & C.После установки этого флажка должна быть включена только кнопка.Все идет хорошо, но когда я обновляю страницу, я не вижу кнопку, я могу видеть все другие элементы, даже флажок.вот HTML-теги, которые я использовал для флажка и кнопки регистрации, а также я использовал флаги.

<p class="terms"> <div class="chckbx-cntnr zeromargin" style = "padding:2px;vertical-align:middle"><input type="checkbox" id="rd" name="check" class="flashadmin" ng-model="user.tnc" ng-click="setbuttonFlag(user.tnc)" class="flashadmin"><label class="cstmchk_lbladmin" for="rd"></label></div>
           I agree to the <a href="#!terms_conditions" target="_blank">Terms of Use</a> and <a href="#!privacy_policy" target="_blank">Privacy Policy</a>.</p>

<button ng-if="buttonFlag==true" id="signup"class="btn btn-default btn-block btn-login" type="submit" >Sign up</button> <button ng-if="buttonFlag==false" id="signup" class="btn btn-default btn-block btn-login" disabled >Sign up</button>

вот подтверждение, которое я написал для флага

$scope.buttonFlag=false;
$scope.setbuttonFlag =function(checkbox){
    if(checkbox == true){
        $scope.buttonFlag=true;
    }else{
        $scope.buttonFlag=false;
    }
};

Я получаю в консоли Ошибка: $ injector: unpr Неизвестный поставщик

Ответы [ 2 ]

0 голосов
/ 05 февраля 2019

Во-первых, ваш код выглядит неуклюже!

Ниже, чем вы допустили ошибку, вы полностью неправильно поняли концепцию.

Почему вам потребовалось две кнопки отправки в html?Также не требуется отдельное событие нажатия для изменения флага кнопки.

Теперь перейдем к вашему вопросу:

Когда я обновляю страницу, я не вижу кнопку

Это потому, что вы используете директиву ng-if в элементе button в то же время, когда запускаете свой контроллер, вы устанавливаете $scope.buttonFlag=false, поэтому вы не можете видеть кнопку во время обновления ..

Ниже приведен фрагментработа для вас!

angular.module("app", []).controller("testCtrl", function($scope) {
 $scope.buttonFlag = false;
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.7.5/angular.min.js"></script>
<div ng-app="app">
  <div ng-controller="testCtrl">
    <input type="checkbox" ng-model='buttonFlag'> I agree to the Terms of Use and Privacy Policy.
    <button ng-disabled='!buttonFlag' id="signup" class="btn btn-default btn-block btn-login">Sign up</button>
  </div>
</div>
0 голосов
/ 04 февраля 2019

Хорошо после обновления вы вручную устанавливаете buttonFlag в false, следовательно, кнопка исчезает. Сохраните buttonFlag в localStorage и проверьте состояние buttonFlag в отличие от установки в false как вы сделали.

if(localStorage.getItem('buttonFlag')){
    buttonFlag = localStorage.getItem('buttonFlag');
}
else{
    buttonFlag = false;
}

также вместоиспользуя две разные кнопки для регистрации используйте ng-disabled для отключения или включения кнопки

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...