2017-04-04 105 views
-4

下面是我嘗試使用上下鍵可以限制數字大於5的HTML代碼。但我需要限制從鍵盤手動輸入。在目前的情況下,我們可以通過鍵盤輸入任何數字並且接受。需要限制鍵盤的最大值

<input type="number" max="5" min="1"> 
+0

它接受但它會顯示作爲誤差 – Abi

+0

它將接受但是'form。$ valid'將是錯誤的。 – Sankar

回答

0

這段代碼替換輸入與最大數量,其示出了最大數量(如果輸入數目大於最大數目更大)數目

<!DOCTYPE html> 
<html lang="en-US"> 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script> 

<body> 
    <div ng-app="app" ng-controller="controller"> 

     <h4> Prevent typing value greater than max (i.e 100): 
     <input type="number" min="1" max="100" limit-to-max /> 
     <script type="text/javascript"> 
     var app = angular.module("app", []); 

     app.controller("controller", function($scope) { 

     }); 

     app.directive("limitToMax", function() { 
      return { 
       link: function(scope, element, attributes) { 
        element.on("keydown keyup", function(e) { 
         if (Number(element.val()) > Number(attributes.max) && 
          e.keyCode != 46 // delete 
          && 
          e.keyCode != 8 // backspace 
         ) { 
          e.preventDefault(); 
          element.val(attributes.max); 
         } 
        }); 
       } 
      }; 
     }); 
     </script> 
    </div> 
</body> 

</html>