我創建了一個表格,其中有2個input type=number
。這兩個輸入都必須填寫下面的數字,在min
和max
屬性中給出的範圍之間或之外,前提是該屬性可能包含或不包含十進制數。如果數目將低於min
範圍則文本顏色會變成ORANGE,如果是上述的max
範圍它會變成RED並且如果在輸入值的數量相匹配的範圍內它會變成GREEN,所有這些驗證將通過jQuery
完成。爲最小和最大屬性避免範圍錯誤&強制提交表格
ISSUE這裏是我需要提交myForm
但由於min
& max
屬性我得到這個提示「值必須小於或等於20」或「值必須大於或等於10」爲提交的輸入分別小於或大於min
和max
屬性中提供的範圍,因此我的表單未提交。 任何人都可以告訴我,我可能會出錯,或有任何解決方案相同。
鏈接代碼: JSFIDDLE
或
請檢查下面片段:
$(document).ready(function()
{
$("#weight").keyup(function()
{
var max = parseInt($('#weight').attr('max'));
var min = parseInt($('#weight').attr('min'));
if ($("#weight").val() >= min)
{
if ($("#weight").val() <= max)
{
$("#weight").css("color", "green");
}
else
{
$("#weight").css("color", "red");
}
}
else
{
$("#weight").css("color", "orange");
}
});
});
$(document).ready(function()
{
$("#bmi").keyup(function()
{
var max = parseInt($('#bmi').attr('max'));
var min = parseInt($('#bmi').attr('min'));
if ($("#bmi").val() >= min)
{
if ($("#bmi").val() <= max)
{
$("#bmi").css("color", "green");
}
else
{
$("#bmi").css("color", "red");
}
}
else
{
$("#bmi").css("color", "orange");
}
});
});
$(document).ready(function()
{
$('input').on('keypress', function(e)
{
if (e.which == 13)
{
switch ($(this).attr('id'))
{
case 'weight':
$('#bmi').focus();
e.preventDefault();
break;
case 'bmi':
$('#body_fat').focus();
e.preventDefault();
break;
case 'body_fat':
$('#submit').focus();
e.preventDefault();
break;
}
}
});
});
input[type=number]::-webkit-inner-spin-button, input[type=number]::-webkit-outer-spin-button
{
-webkit-appearance: none;
margin: 0;
}
.newdatatext
{
\t height:60px;
\t width:100%;
\t text-align:center;
\t font-weight:bold;
\t font-size:300%;
}
#usernewdetailsform
{
\t margin-top:6%;
width:100%;
}
#usernewdetailsform label
{
font-weight:bold;
\t font-size:30px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<form name="myForm" action="" method="POST">
<label for="weight">Weight :</label>
<input type="number" name="weight" id="weight" class="newdatatext" placeholder="Weight" min="10" max="20" step=".01" autofocus required>
<label for="bmi">BMI</label>
<input type="number" name="bmi" placeholder="BMI" min="10" max="20" id="bmi" step=".01" class="newdatatext" required>
<input type="submit" name="submit" id="submit">
</form>
不要使用min和max來改變顏色,在你的輸入中添加「data-min」和「data-max」,並將這些數據用於你的變量min和max –