2016-05-31 2 views
2

У меня есть текстовое поле.Как установить максимальную длину в типе ввода = номер?

<input type="number" min="0" max="999"> 

Но я могу набрать как можно больше чисел внутри текстового поля.

Как я установил max = 999, я не хочу, чтобы это произошло. Кто-нибудь знает решение для этого? Я пробовал ng-maxlength и maxlength, но не работает.

+0

Что именно вам нужно? Ваш вопрос непонятен. – Shrabanee

+0

вы создаете текст feild и даете max = 999, и все же вы сможете ввести 111111111 (даже если не действительная запись), я хочу заблокировать это, я не хочу блокировать ввод 4-значного числа в тексте feild –

+0

use regex для этого типа.^(\ d) {1,10} $ –

ответ

11

max Attribué определяет максимально возможное значение, которое можно задать.

для более подробной информации see this link

Я думаю, что следующий будет полезным для вас,

//maxlength="10" 
<input type="number" onKeyPress="if(this.value.length==10) return false;" /> 
+1

, когда он достигает 10 charectors, я не способный удалить номер (backspace не работает) –

+0

Изменен onKeyDown to onKeyPress ... еще раз проверьте –

+0

[Firefox Quantum] То же самое происходит, не работает ни backspace, ни другой ключ. Его можно изменить только стрелками вверх или вниз. [Chrome] Прекрасно работает! –

1

Try This

var jimApp = angular.module("mainApp", []); 
 

 
jimApp.controller('mainCtrl', function($scope){ 
 
    var oldNumber = 0; 
 
    $scope.numberChanged = function(number){ 
 
    if(number<=999){ 
 
     oldNumber = number; 
 
    } 
 
    return oldNumber; 
 
    }; 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 

 

 
<div ng-app="mainApp" ng-controller="mainCtrl"> 
 
    <input type="number" min="0" max="999" ng-model="jimNum" ng-change="jimNum = numberChanged(jimNum);"> 
 
</div>

0

Попробуйте

<input type="number" min="0" max="999" 
    onKeyUp="if(this.value>999){this.value='999';}else if(this.value<0){this.value='0';}" 
id="yourid"> 
+0

Обратите внимание, что если пользователь настраивает значение с помощью элементов управления полем, они, вероятно, не будут отправлять какие-либо события клавиатуры, поэтому слушатель * onkeyup * не будет вызываться. – RobG

0

Там есть JSFiddle, с помощью JQuery.

Ваш вклад

<input type="number" id="num"> 

Сценарий:

$("#num").keypress(function(e) { 
    var current_val = $(this).val(); 
    var typing_char = String.fromCharCode(e.which); 
if (parseFloat(current_val + "" +typing_char) > 900) { 
    return false; 
} 

}) 
+0

Это ограничивает максимальное значение до 900 и позволяет отрицательное число любого размера. Гораздо лучше было бы что-то вроде 'var v = this.value; если (v> 999) this.value = v.substr (0,2) 'с дополнительной логикой для отрицательных чисел (какими бы они ни были). – RobG

+0

Да, мой плохой, забыл о мин-вале, но он может легко это исправить со всем ответом. –

Смежные вопросы