【问题标题】:Javascript function doesn't work on all browserJavascript 功能不适用于所有浏览器
【发布时间】:2018-11-19 12:57:36
【问题描述】:

我创建了一个fnNumericDecimalOnly 函数Javascript, 并在我的 jsp 页面中使用它,它只允许数字和小数,而不是下面的代码。

代码:

function fnNumericDecimalOnly(event) {    	
    if (event.keyCode < 45 || event.keyCode > 58) {
        event.returnValue = false;
    }
}
<div class="col-sm-4 col-lg-4">
    <div class="form-group has-feedback required-field-block">
        <label for="inTimeTxt" class="col-md-4 control-label">In Time</label>
        <div class="col-md-7">

            <input id="inTimeTxt" name="inTimeTxt" class="form-control" maxlength="5"
                   type="text" placeholder="00:00" value="" title="In Time" 
                   onkeypress="javascript:return fnNumericDecimalOnly(event)" 
                   data-tooltip="tooltip" data-placement="top" />(In hh:mm format)

            <span class="glyphicon form-control-feedback" id="inTimeTxtMessage"></span>
        </div>
        <div class="col-md-1"></div>
    </div>
</div>

它仅在 Chrome 中有效,在 Firefox 中无效。 那么任何人都可以帮助我吗?我该怎么做才能使其适用于所有浏览器?

【问题讨论】:

  • “不起作用”是一个非常糟糕的问题陈述。做一些基本的调试。控制台上是否报告错误?该函数是否被调用? event.keyCode 有你期待的价值吗?
  • 让你的 JS 和 HTML 完全不同 代码 sn-ps 真的没有帮助。他们根本不会互动!
  • 你为什么用jspjquery标记这个?我在代码中都没有看到。只包含与您的问题相关的标签。
  • 你不能用input type="time"吗?或者两个 input type="number" 输入旧版浏览器
  • @Quentin 我的 javaScript 函数在文件中,该文件是许多不同 js 函数的集合。我已经在我的 .jsp 文件中导入并在不同的字段中使用了函数名。

标签: javascript dom-events keyboard-events


【解决方案1】:

https://www.w3schools.com/jsref/event_key_keycode.asp

注意:在 Firefox 中,keyCode 属性对 onkeypress 事件不起作用(只会返回 0)。对于跨浏览器解决方案,将 which 属性与 keyCode 一起使用,例如:

var x = event.which || event.keyCode;  // Use either which or keyCode, depending on browser support

这是一个 5s 谷歌搜索的东西......

function fnNumericDecimalOnly(event) { 
    let key = event.which || event.keyCode;     
    if (key < 45 || key > 58) {
        event.returnValue = false;
    }
}

【讨论】:

  • 感谢@MrAleister 的反馈,我关心的是在一个js文件中编写代码并在我的jsp页面中使用许多字段。所以为此我需要编写一个适用于每个浏览器的代码。那你能告诉我怎么做吗?
  • 我刚刚做了 - 更新你的 fnNumericDecimalOnly 方法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-23
  • 2015-09-29
  • 2016-10-13
相关资源
最近更新 更多