【问题标题】:How to disable "-" and "e" from input field - html JS [duplicate]如何从输入字段中禁用 \"-\" 和 \"e\" - html JS [重复]
【发布时间】:2022-08-19 22:29:43
【问题描述】:

我正在使用 php + JS + html。 我有一个类型为数字的输入字段,它代表一个百分比,即 0.00 - 100.00。 当我尝试输入字符时,默认情况下它是禁用的,这很好。 但是,当我尝试输入 \"-\" 或 \"e\" 时,它是允许用户使用的。 我希望它与其他字符一样,在按下键盘时它应该什么都不做。 这是我的html代码:

<div class=\"d-flex\" style=\"display: flex;\"> 
   <input type=\"number\" onkeydown=\"preventSomeKeys(event)\"  name=\"fee_site_omp_percent\" id=\"fee_site[\'omp_percent\']\" value=\"{{$fee_site[\'omp_percent\'] ?? \'0.00\'}}\" class=\"w-100\" step=\"0.1\"  style=\"border:none;\"> 
   <span class=\"table-control-addon-right\">%</span>
</div>

这是JS中的代码

function preventSomeKeys(event){
  var keyCode = event.key;
  console.log(\"keycode\");
  console.log(keyCode);
  if(keyCode == \"-\"){ 
    console.log(\"BOOM\");
     return false;
  }
  return
}

这是屏幕上显示的内容,请参见“--”显示。

这些是日志:

如何防止用户输入这些值 \"-\"、\"e\"?

标签: javascript php html regex validation


【解决方案1】:

以上方法都试过了,问题依旧

问题是您通过 HTML 属性使用“老式”事件处理程序绑定。

<input type="number" onkeydown="preventSomeKeys(event)"

你的函数返回 false 是不够的——你还需要“传递”这个返回值,这里:

onkeydown="return preventSomeKeys(event)"

【讨论】:

    【解决方案2】:

    您可以使用插件来屏蔽您的输入,因此用户将无法输入这些字符。例如,Inputmask。向下滚动,您还将找到如何使用它。这是demo,让您了解输入屏蔽的确切工作原理(首先单击“演示”按钮)。如果答案没有用,或者我没有正确回答您的问题,请随时指出。一切顺利!

    【讨论】:

      【解决方案3】:

      这是我的解决方案

      <input type="number" onkeypress="preventSomeKeys(event)"   name="fee_site_omp_percent" id="fee_site['omp_percent']" value="{{$fee_site['omp_percent'] ?? '0.00'}}" class="w-100" step="0.1"  style="border:none;"> 
                     <span class="table-control-addon-right">%</span>                           
      

      这是我创建的方法

      function preventSomeKeys(event){
        var keyCode = event.key;
        console.log("keycode");
        console.log(keyCode);
        if(keyCode == "-"){ 
          console.log("BOOM");
          event.preventDefault();
           return false;
        }
        return
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-03-07
        • 2017-06-30
        • 2021-12-13
        • 2017-06-02
        • 2012-11-04
        • 2011-11-19
        • 2017-05-19
        • 2012-09-30
        相关资源
        最近更新 更多