попытка инициировать отправку по введенным цифрам, равным 11 - PullRequest
0 голосов
/ 07 июня 2018

Я пытаюсь автоматически инициировать вызов, когда когда-либо введенные цифры в textarea равны 11. Вот моя попытка

$scope.test = function() {
  if ($scope.name.length >= 11) {
    //submit the form
  }
}
<form>
  <input ng-model="name" ng-change="test()" type="text">
</form>

Ответы [ 2 ]

0 голосов
/ 07 июня 2018

Вы можете попробовать как приведенный ниже код, также проверьте эту ссылку plunker для вашего примера сценария.

Шаблон:

<textarea ng-model="name" maxlength="11" ng-change="test(name)" type="text"></textarea>

Контроллер:

app.controller('MainCtrl', function($scope) {
  $scope.test = function (name) {
    if(name.length == 11){
      alert(name);
    }
  };
});

Примечание: Вы можетеиметь http-вызов вместо предупреждения.И, пожалуйста, не забудьте ввести $ scope в ваш контроллер.

0 голосов
/ 07 июня 2018

Вы можете использовать ng-change и можете проверить length.

Затем Вы можете использовать $scope.name.length в контроллере

<!DOCTYPE html>
<html>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script>

<body ng-app="myApp" ng-controller="myCtrl">

<form ng-submit="myFunc()">
  <input ng-model="name" ng-change="test()" type="text">
</form>
<p>{{myTxt}}</p>
<script>
var app = angular.module("myApp", []);
app.controller("myCtrl", function($scope) {
$scope.name;
  $scope.myTxt = "You have not yet clicked submit";
  $scope.test = function () {
   
        if($scope.name && $scope.name.toString().length >= 11){
        
        $scope.myFunc();
        }
        
  }
  $scope.myFunc = function () {
  		alert('submitted');
      $scope.myTxt = "You clicked submit!";
  }
});
</script>

</body>
</html>

Пожалуйста, запустите приведенный выше фрагмент

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