我有一个文本字段。
<input type="number" min="0" max="999">
但我可以在文本框中输入尽可能多的数字。
当我设置max = 999时,我不希望发生这种情况。
有谁知道这个的解决方案?
我尝试了ng-maxlength
和maxlength
,但无效。
答案 0 :(得分:19)
max
attribue指定我们可以指定的最大可能值。
了解更多详情see this link
我认为以下内容对您有所帮助,
//maxlength="10"
<input type="number" onKeyPress="if(this.value.length==10) return false;" />
答案 1 :(得分:1)
试试这个
var jimApp = angular.module("mainApp", []);
jimApp.controller('mainCtrl', function($scope){
var oldNumber = 0;
$scope.numberChanged = function(number){
if(number<=999){
oldNumber = number;
}
return oldNumber;
};
});
&#13;
<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>
&#13;
答案 2 :(得分: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">
答案 3 :(得分:0)
使用JQuery JSFiddle。
您的输入
<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;
}
})
答案 4 :(得分:0)
如果您限制单个字段
<TextField type="number"
className="text-field-amount"
onInput={(e)=>{
e.target.value = Math.max(0, parseInt(e.target.value) ).toString().slice(0,2)
}}
min={0}
答案 5 :(得分:0)
如果您要映射的数字超过一个,则通过映射输入文本字段,然后按以下步骤操作
<TextField
key={key}
label={row.q_desc}
type="number"
onChange={this.onChange}
onInput={this.onInput}
/>
onInput= event => {
event.preventDefault();
debugger;
var textField_name = this.state.input_Name;
if (textField_name == "Zip") {
event.target.value = Math.max(0, parseInt(event.target.value))
.toString()
.slice(0, 4);
}
if (textField_name == "Social Security") {
event.target.value = Math.max(0, parseInt(event.target.value))
.toString()
.slice(0, 9);
}
if (textField_name == "Phone") {
event.target.value = Math.max(0, parseInt(event.target.value))
.toString()
.slice(0, 10);
}
};
onChange(e) {
debugger;
this.setState({
input_Name: e.target.name
});
}
答案 6 :(得分:0)
对我有用的解决方案是将onkeypress与max属性一起使用。 例如最大长度为999
<input type="number" max="999" onkeypress="if (this.value.length > 2) return false;"/>
在Chrome,Firefox和Edge中进行了测试。