我需要将输入数字的最大值设置为数据库中剩余的数量。是否有可能或有某些方法可以做到这一点?我需要首先验证输入值是否等于或小于剩余的股票,如果大于它将提示输入必须小于或等于最大值的消息。
数据库示例:
id_item | item | brands | max
- - - - - - - - - - - - - - - - - - - - - - -
1 | Shampoo |creamsilk |2
2 | conditioner |creamsilk |5
3 | soap |safeguard |7
答案 0 :(得分:0)
检查int浏览器使用JS。当输入(对于eaxmple)值改变时,事件是tritter,在事件处理程序中,一些代码用于检查值。似乎mvvm模式适合这种情况。
答案 1 :(得分:0)
如果你想使用javascript, 你可以用
Math.min(值,最大值);
此函数从参数中获取最小值。
这将是答案。
答案 2 :(得分:0)
在客户端,您可以使用onChange事件来验证输入值 例:
document.getElementById('input')
.addEventListener('change', (event) => {
if (event.target.value > 3) {
alert('there is only 3 shampoo left');
}
});
<input type="number" id="input" />
答案 3 :(得分:0)
HTML 5现在提供a way to specify limits on values of number fields in forms。例如,您可以将其放在HTML页面中。
<input id="qty" type="number" min="0" max="42"> </p>Order now, only 42 left!</p?
然后用户将无法输入过高的数字。当然,当用户提交表单时,您必须在后端再次验证此号码(用户可以轻松地在网页上更改html;同样,旧版浏览器会忽略min
和max
属性。
答案 4 :(得分:0)
您需要提供您正在使用的数据库框架以及您正在使用的后端,因为它不仅仅是javascript本身。假设这是MySql和PHP;
您可以轻松地对最大值进行硬编码,但绝不建议这样做。在for循环中,循环遍历产品时:
<input
type="number"
data-max="<?php echo $rows[$i]["max"];?>"
min="0"
max="<?php echo $rows[$i]["max"];?>"
class="hasMaxInput">
进一步使用警报:
<script>
$(".hasMaxInput").on("change", function(e) {
var max=$(this).attr("data-max");
var inp=$(this).val();
if (inp >= max) {
alert("Exceeded amount value!");
$(this).val(max);
} else {
// cont.
}
});
</script>