我创建了一个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中不起作用。 所以任何人都可以帮我做什么,以便它适用于所有浏览器。
答案 0 :(得分:2)
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的Google搜索内容...
function fnNumericDecimalOnly(event) {
let key = event.which || event.keyCode;
if (key < 45 || key > 58) {
event.returnValue = false;
}
}