Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.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 手动将表单字段设置为$invalid_Javascript_Angularjs - Fatal编程技术网

Javascript 手动将表单字段设置为$invalid

Javascript 手动将表单字段设置为$invalid,javascript,angularjs,Javascript,Angularjs,所以我是AngularJS的新手,我想做一份登记表 我要做的是检查用户名是否被占用。基本上,我向我的PHP文件发送一个请求,然后根据我发布的用户名返回0或1: $http({ method: "POST", url: "/assets/scripts/checkUsername.php", data: { username: $scope.input_username } }).success(function (data) { if (d

所以我是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);
    }
});
但由于某些原因,submit按钮仍然会启用,就像什么都没有发生过一样

我也试着这样做:

 $scope.loginForm.username.$invalid = false;
但我的结果没有任何变化

这是我的HTML(我省略了与密码等无关的字段):


格布鲁伊克斯纳姆酒店
我不想在因弗伦见到你!
Deze gebruikersnaam是bezet!
登记员

当抛出错误时,按钮如何不禁用?以及如何修复它。。。谢谢。

您什么时候发送此请求?@dfsq用户名更改时您的代码显示正确-如果没有上下文,我猜您看到的范围是错误的。如果您可以在jsbin中重现这一点,这将有所帮助。下面是一个使用代码中必要位的工作模型:
<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>