限制输入数字框的取值范围
restrict the input Number box with value range
如何限制输入数字框为1-10整数部分和0-59小数部分。如果用户输入值 11.00 或 2.60 或 0 则不应被允许。如何限制值的整数部分和小数部分?
<input type="number" class="form-control format-text emphrs" asp-for="@Model.attendanceLogList[i].NormalHrs" />
您可以像下面这样更改您的代码:
<input type="number" class="form-control format-text emphrs" oninput="validate(this)" id="number" asp-for="@Model.attendanceLogList[i].NormalHrs"/>
<div id="error" class="text-danger"></div>
@section Scripts
{
<script>
var validate = function (e) {
var t = e.value;
e.value = (t.indexOf(".") >= 0) ? (t.substr(0, t.indexOf(".")) + t.substr(t.indexOf("."), 3)) : t;
}
$("#number").keyup(function () {
var x = parseFloat($("#number").val());
var a = Math.floor(x);
var b = (x % 1).toFixed(2).substring(2);
var c = (a + 0.59).toFixed(2);
$("#error").empty();
if (b > 59) {
$("#number").val(c);
$("#error").text("Please enter with 0-59 decimal part")
}
if (a > 10) {
$("#number").val(10);
$("#error").text("Please enter with 1-10 integer part")
}
if (a <1) {
$("#number").val(1);
$("#error").text("Please enter with 1-10 integer part")
}
})
</script>
}
如何限制输入数字框为1-10整数部分和0-59小数部分。如果用户输入值 11.00 或 2.60 或 0 则不应被允许。如何限制值的整数部分和小数部分?
<input type="number" class="form-control format-text emphrs" asp-for="@Model.attendanceLogList[i].NormalHrs" />
您可以像下面这样更改您的代码:
<input type="number" class="form-control format-text emphrs" oninput="validate(this)" id="number" asp-for="@Model.attendanceLogList[i].NormalHrs"/>
<div id="error" class="text-danger"></div>
@section Scripts
{
<script>
var validate = function (e) {
var t = e.value;
e.value = (t.indexOf(".") >= 0) ? (t.substr(0, t.indexOf(".")) + t.substr(t.indexOf("."), 3)) : t;
}
$("#number").keyup(function () {
var x = parseFloat($("#number").val());
var a = Math.floor(x);
var b = (x % 1).toFixed(2).substring(2);
var c = (a + 0.59).toFixed(2);
$("#error").empty();
if (b > 59) {
$("#number").val(c);
$("#error").text("Please enter with 0-59 decimal part")
}
if (a > 10) {
$("#number").val(10);
$("#error").text("Please enter with 1-10 integer part")
}
if (a <1) {
$("#number").val(1);
$("#error").text("Please enter with 1-10 integer part")
}
})
</script>
}