所以,我是AngularJS的新手,我正在尝试制作注册表。
我要做的是检查用户名是否被占用。所以基本上,我向我的PHP文件发送请求,然后根据我发布的用户名返回0
或1
:
$http({
method: "POST",
url: "/assets/scripts/checkUsername.php",
data: {
username: $scope.input_username
}
}).success(function (data) {
if (data > 0) {
$(".userExists").show();
$scope.loginForm.username.$setValidity("username", true);
} else {
$(".userExists").hide();
$scope.loginForm.username.$setValidity("username", false);
}
});
但由于某种原因,提交按钮仍然可以发生任何事情。
我也试过这样做:
$scope.loginForm.username.$invalid = false;
但我的结果没有任何改变。
这是我的HTML(我省略了不相关的字段,如密码等。):
<form role="form" ng-submit="login()" name="loginForm" novalidate>
<div class="form-group">
<label for="email">Gebruikersnaam</label>
<input type="text" class="form-control" name="username" required="true" ng-model="input_username" style=" background-image: linear-gradient(#009688, #009688), linear-gradient(#d2d2d2, #d2d2d2);" id="inputDefault" placeholder="Voer jouw gebruikersnaam in." />
<div class="talkbubble error" ng-show="!loginForm.username.$pristine && loginForm.username.$invalid"> Je moet wel een gebruikersnaam invullen! </div>
<div class="talkbubble error userExists" style="display: none;"> Deze gebruikersnaam is bezet! </div>
</div>
<button type="submit" ng-disabled="loginForm.$invalid" class="btn btn-default btn-raised" style="background-color: #009688; color:#fff;">Registreren</button>
</form>
如何在抛出错误时按钮不会被禁用?以及如何解决它...谢谢。