首页 > 解决方案 > 防止用户使用 JavaScript 输入小数

问题描述

我是 Java Script 的新手。我想防止用户使用 JavaScript 在字段中输入小数。我尝试了这种方法,但显示了这个错误。

令牌“_$tag____________”的语法错误,无效的 AssignmentOperator

<td>
<form:input class="form-control line_qty_class inputs" onkeypress="checkDecimal();" required="required" id="line_qty${loop.index}" path="saleInvoiceLines[${loop.index}].quantity" />
</td>


<script>
function checkDecimal() {
    $(".line_qty").keypress(function(e) {
        if (e.which < 46 || e.which > 57) {
            showAdvice(this, "Enter Integer Value");
            return(false);
        }
    });
}
</script>

标签: javascriptjquery

解决方案


干得好

$(".line_qty").keypress(function(e) {
  if (e.which < 46 || e.which > 57) {
    console.log("Enter Integer Value");
    return (false);
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<td>
  <input class="line_qty" required="required" id="line_qty" />
</td>

什么问题?

  1. 您指定了onkyepress添加事件的功能keypress。那是没有意义的。要么添加一个触发keypress或使用的函数onkeypress
  2. 您在 jQuery 类中编写,line_qty但您的元素没有该类。它有不同的等级line_qty_class
  3. 您使用了一个showAdvice()未定义的函数,但也许您已经定义了该函数,所以这不是问题。

推荐阅读