Php 如果emailid已经存在,如何使用angularjs禁用提交按钮

Php 如果emailid已经存在,如何使用angularjs禁用提交按钮,php,angularjs,Php,Angularjs,如果电子邮件ID已经存在于使用angularjs的数据库中,我想禁用submit按钮。但我不知道该怎么做 这是我的html代码 <div data-ng-cloak data-ng-app="AddEmailModule" data-ng-controller="AddEmailController"> <form class="form-horizontal" role="form" id="AddEmailForm" name="AddEmailForm" auto

如果电子邮件ID已经存在于使用angularjs的数据库中,我想禁用submit按钮。但我不知道该怎么做

这是我的html代码

<div data-ng-cloak data-ng-app="AddEmailModule" data-ng-controller="AddEmailController">
    <form class="form-horizontal" role="form" id="AddEmailForm" name="AddEmailForm" autocomplete="off" enctype="multipart/form-data" novalidate="" data-ng-submit="AddEmailData(AddEmail)"> 
        <div class="col-sm-6">
            <label for="emailid">Email-Id</label>
            <input type="email" class="form-control" placeholder="Email-Id"  id="emailid" name="emailid" pattern="^[a-zA-Z0-9-\_.]+@[a-zA-Z0-9-\_.]+\.[a-zA-Z0-9.]{2,5}$" required  ng-change="check_email(emailid)" data-ng-model="AddEmail.emailid">                      
            <div class="error" data-ng-show="AddEmailForm.emailid.$dirty && AddEmailForm.emailid.$invalid">
                <small class="error" data-ng-show="AddEmailForm.emailid.$error.required">Email-Id is required.</small>
                <small class="error" data-ng-show="AddEmailForm.emailid.$error.email">Invalid Email-Id.</small>
            </div>                                          
            <p><strong class="error">{{getEmail}}</strong></p>
        </div>
        <button type="submit" class="btn btn-theme" data-ng-disabled="AddEmailForm.$invalid">Add</button>
    </form>
</div>
check-email.php如果emailid可用,则显示Ok,如果emailid已存在,则显示email Id。现在我有点困惑如何根据这些消息禁用submit按钮


有任何帮助/建议吗?

创建布尔变量,如果电子邮件已经存在,则使变量为真

var AddEmail = angular.module("AddEmailModule", [])
AddEmail.controller("AddEmailController", function($scope, $timeout, $http, jsonFilter) {

    $scope.emailExist = false;

    var logResult = function(data, status, headers, config) {
        return data;
    };
    $scope.check_email = function(emailid) {
        $scope.emailExist = false;
        $http.post('check-email.php', {
                'emailid': $scope.AddEmail.emailid
            })
            .success(function(data, status, headers, config) {
                $scope.getEmail = logResult(data, status, headers, config);
                $scope.emailExist = true; // make this true if email exist 
            });
    };
    $scope.AddEmailData = function(AddEmail) {
        //Add code comes here
    };
});
ng禁用中
使用多个条件

  <button type="submit" class="btn btn-theme" data-ng-disabled="AddEmailForm.$invalid || emailExist">Add</button>
我使用
的原因是
success
已从angular version 1.6.1中删除
在php文件中,您不会返回“OK”,而是返回“Email Id ready exists”,因此,对于if条件,使用它创建布尔变量,如果Email已经存在,则将变量设置为true

var AddEmail = angular.module("AddEmailModule", [])
AddEmail.controller("AddEmailController", function($scope, $timeout, $http, jsonFilter) {

    $scope.emailExist = false;

    var logResult = function(data, status, headers, config) {
        return data;
    };
    $scope.check_email = function(emailid) {
        $scope.emailExist = false;
        $http.post('check-email.php', {
                'emailid': $scope.AddEmail.emailid
            })
            .success(function(data, status, headers, config) {
                $scope.getEmail = logResult(data, status, headers, config);
                $scope.emailExist = true; // make this true if email exist 
            });
    };
    $scope.AddEmailData = function(AddEmail) {
        //Add code comes here
    };
});
ng禁用中
使用多个条件

  <button type="submit" class="btn btn-theme" data-ng-disabled="AddEmailForm.$invalid || emailExist">Add</button>
我使用
的原因是
success
已从angular version 1.6.1中删除
在php文件中,您没有返回“OK”,而是返回“Email Id已经存在”,因此将其用于if条件

观测值:在ng change函数中传递正确的模型值

ng change=“check\u email(emailid)”
应该是
ng change=“check\u email(AddEmail.emailid)”

演示

var myApp=angular.module('myApp',[]);
myApp.controller('MyCtrl',函数($scope){
$scope.emailExist=true;
$scope.alreadyRegMail='0test@gmail.com';
$scope.check_email=函数(emailid){
如果(emailid=$scope.alreadyRegMail){
$scope.emailExist=true;
}否则{
$scope.emailExist=false;
}
}
});

电子邮件Id
电子邮件Id是必需的。
无效的电子邮件Id。
添加

观察:在ng change函数中传递正确的模型值

ng change=“check\u email(emailid)”
应该是
ng change=“check\u email(AddEmail.emailid)”

演示

var myApp=angular.module('myApp',[]);
myApp.controller('MyCtrl',函数($scope){
$scope.emailExist=true;
$scope.alreadyRegMail='0test@gmail.com';
$scope.check_email=函数(emailid){
如果(emailid=$scope.alreadyRegMail){
$scope.emailExist=true;
}否则{
$scope.emailExist=false;
}
}
});

电子邮件Id
电子邮件Id是必需的。
无效的电子邮件Id。
添加


您可以在控制器中使用$scope.AddEmailForm.email.$setValidity(“email”,false)。在成功检查电子邮件是否存在的控制器中,在何处添加此@Pawan Gupta 3。。如果(data.length>0){$scope.AddEmailForm.email.$setValidity(“email”,false)}它应该是$scope.FormName.FieldName.$setValidity(“FieldName”,false)。。因此,在您的情况下,它将是$scope.AddEmailForm.emailid.$setValidity(“email”,false)让我们来看看。您可以在控制器中使用$scope.AddEmailForm.email.$setValidity(“email”,false)。在成功的情况下,您可以在控制器中添加此@Pawan Gupta 3,检查电子邮件是否存在。。如果(data.length>0){$scope.AddEmailForm.email.$setValidity(“email”,false)}它应该是$scope.FormName.FieldName.$setValidity(“FieldName”,false)。。因此,在您的情况下,它将是$scope.AddEmailForm.emailid.$setValidity(“email”,false)让我们看看。在成功内部,您如何确保电子邮件已经存在或不存在
if(data!=“OK”){$scope.emailExist=true;}
它在控制台中显示的错误“ReferenceError:emailExist未定义”您最初是否在控制器中声明了此项
$scope.emailExist=false你能创建一个plnkr吗。很难找出成功内部的问题您如何确保电子邮件已经存在或不存在
if(data!=“OK”){$scope.emailExist=true;}
它在控制台中显示错误“ReferenceError:emailExist未定义”您最初是否在控制器中声明了这一点
$scope.emailExist=false你能创建一个plnkr吗。很难找出问题所在。感谢@Rohit,如果不改变它的工作方式,就很难找到问题所在。我刚刚更改了
数据ng禁用=“AddEmailForm.$invalid | | emailExist
@user1624540如果此答案有用,请将其标记为正确,以便对其他人也有帮助。答案上面的所有注释都有用。”。这就是为什么我没有接受任何答案。但将评论标记为有用谢谢@Rohit它的工作没有改变。我刚刚更改了
data ng disabled=“AddEmailForm.$invalid | | emailExist
@user1624540如果此答案有用,请将其标记为正确,以便对其他人也有帮助。答案上面的所有注释都是有用的。这就是我没有接受任何答案的原因。但将注释标记为有用