在angularjs表单中添加简单的反垃圾邮件操作

Add simple antispam operation in angularjs form

本文关键字:操作 表单 angularjs 添加 简单      更新时间:2023-09-26

我有一个这样的输入字段:

                <div class="form-group form-group-sm">
                    <label for="antispam" class="col-sm-2 control-label">1+1+5 = ? 
    <span class="myForm_error" ng-show="myFormZR.antispam.$error.required">(required field)</span>
<span ng-show="myFormZR.antispam.$dirty && IsMatch">BAD ANSWER</span></label>
                    <div class="col-sm-10">
                        <input type="text" class="form-control" name="antispam" placeholder="" required="required" ng-model="myForm.antispam" />
                    </div>
                </div>

/* antispam */
var antispamAnswer = "7"
if ($scope.myForm.antispam != antispamAnswer) {
    $scope.IsMatch = true;
} else {
    $scope.IsMatch = false;
}

它不工作,提到"BAD ANSWER"总是显示

您的代码只运行一次,当Controller实例化时。你需要把这段代码放在$watch函数中为ng-model:

$scope.$watch('myForm.antispam', function() {
  // that code
})

也做大量的console.log()来调试你的代码,这样你就知道你的应用程序中发生了什么和什么时候。