2016-09-21 63 views
0

在Web應用程序(AngualrJS 1.5 + HTML5)中,我有一個輸入類型=「編號」。我想介入0.5。問題是,如果用戶編寫0.7,表單不會證明錯誤。我怎樣才能在場地中自動輪迴號碼?使用AngularJS強制輸入類型編號的步驟

這是html代碼:

<input type="number" ng-model="height" name="height" min="1" max="10000" step="0.5"> 

我試圖添加這個js代碼時,我保存網頁:

$scope.age = (Math.round($scope.age * 2)/2).toFixed(1); 

,但我得到這個錯誤控制檯:

angular.js?v=0.2:13708 Error: [ngModel:numfmt] Expected `6.0` to be a number 

更新: 我製作了一個運動員:PLNKR

+1

的jsfiddle或類似的東西? – Franky238

+1

看起來你正在分配字符串模型,但它應該是number.Try parseFloat(yourmodel) –

+0

我已經做了一個笨蛋 – panagulis72

回答

1

看看下面的代碼。

<body ng-app="numberExample"> 
    <script> 
    angular.module('numberExample', []) 
    .controller('ExampleController', ['$scope', function($scope) { 
     $scope.age = 5; 
     $scope.roundNo = function(){ 
     $scope.age = (Math.round($scope.age * 2)/2); 
     }; 
     $scope.save = function(){ 
     } 
    }]); 
</script> 
<form name="myForm" ng-controller="ExampleController"> 

    <input type="number" name="input" ng-model="age" 
      min="0" max="1000" step="0.5" ng-change="roundNo()" required> 

</form> 
<button ng-click="save()">Save</button> 
</body> 

工作plunker here

+0

非常感謝! – panagulis72