从数据库javascript设置html输入数字的最大值

时间:2018-05-06 14:55:33

标签: javascript mysql

我需要将输入数字的最大值设置为数据库中剩余的数量。是否有可能或有某些方法可以做到这一点?我需要首先验证输入值是否等于或小于剩余的股票,如果大于它将提示输入必须小于或等于最大值的消息。

数据库示例:

id_item | item          | brands    | max
- - - - - - - - - - - - - - - - - - - - - - -
1       | Shampoo       |creamsilk  |2
2       | conditioner   |creamsilk  |5
3       | soap          |safeguard  |7

5 个答案:

答案 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;同样,旧版浏览器会忽略minmax属性。

答案 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>