如果文本输入不是具有ng-disabled的整数,则禁用按钮

时间:2016-02-04 21:52:57

标签: javascript angularjs

我有2个文本字段。

input type="text" placeholder="name" ng-model="name">
input type="text" placeholder="number" ng-model="number">

如果文本字段中没有数据,我会验证该按钮是否处于活动状态。如果文本字段中没有正整数,我不知道如何禁用该按钮" number"。

<button ng-disabled="!name || !number" value="buttonTest"></button>

我需要严格输入类型=&#39; text&#39;

2 个答案:

答案 0 :(得分:1)

HTML:

<body ng-app="app">
  <div ng-controller="myController">
    <input type="text" placeholder="name" ng-model="name">
    <br/>
    <input type="text" placeholder="1234" ng-model="number">
    <br/>
    <button ng-model="button" ng-disabled="!name || !parseInt(number) || number < 0">Button</button>
  </div>
</body>

脚本:

var app = angular.module('app', []);

app.controller('myController', ['$scope', function($scope) {
  $scope.parseInt = parseInt;
}]);

http://plnkr.co/edit/WBVMKWYSNBAxmQdg7i2K?p=preview

答案 1 :(得分:0)

在控制器中编写一个函数来检查这些值并返回结果。我有时会使用字符串的length属性来确定是否存在值。它涵盖了null,undefined和empty字符串。

$scope.isPositiveInteger = function(value) {
    var floatValue = parseFloat(value);
    var isInteger = floatValue % 1 === 0;
    return isInteger && floatValue > 0;
}

HTML:

<button ng-disabled="name.length < 1 || !isPositiveInteger(number)" value="buttonTest"></button>