Javascript 无法从HTML输入类型编号中获取原始值(包括点(.))
当我点击输入时Javascript 无法从HTML输入类型编号中获取原始值(包括点(.)),javascript,jquery,html,Javascript,Jquery,Html,当我点击输入时;在输入的按键功能上键入一些键。然后键入,尽管它显示在输入上,但我无法在$('#n').val()中看到 例如,键入以下内容后:123.然后$('#n').val()仅返回123 是否有的任何属性可以让我得到它的原始值,即123.而不是123 $(“#n”)。在(“按键”,功能(事件){ log($(“#n”).val()); }); 我自己之前也遇到过这个问题。也许这会有帮助: $(“#n”)。关于(“键控”,函数(事件){ var val=$('#n').val(); 如果
;在输入的按键功能上键入一些键。然后键入
,尽管它显示在输入上,但我无法在$('#n').val()中看到
例如,键入以下内容后:123.
然后$('#n').val()
仅返回123
是否有
的任何属性可以让我得到它的原始值,即123.
而不是123
$(“#n”)。在(“按键”,功能(事件){
log($(“#n”).val());
});代码>
我自己之前也遇到过这个问题。也许这会有帮助:
$(“#n”)。关于(“键控”,函数(事件){
var val=$('#n').val();
如果(event.keyCode==190){
val+=';
}
控制台日志(val);
});代码>
JS-Bin
这应该能解决你的问题<代码>使用FocusOut事件捕获值
使用键控
event@Satpal:keyup
不起作用123。
是123
,为什么需要句点?我怀疑你会得到它,因为没有真正的方法来获取原始值。@epascarello:因为我每次都想用这个信息来约束输入数字。即:在点(.)123.4之后只允许有1个数字-因此必须检测到
的存在,因此。他们加上一个号码后就会到了。你们的问题是输入的数字会帮你们解析,所以你们并没有控制权。您可以侦听键事件并查看值是什么,但不能读取值。只有在粘贴、删除键或编辑操作后如何跟踪点(.)的情况下,问题才会失败。即删除点(.),然后再次添加…,如上面提到的@epascarello。@O0omicomputerO0o一旦点就位,您可以拆分字符串并检查小数点后的部分长度是2还是2not@epascarello我会see@epascarello字体对我来说,它起作用了。这是我在Safari浏览器中测试的fiddle链接。
<input type="number"
min="0"
max="999"
step="0.000001"
pattern="[0-9]{1,2}([\.][0-9]{1,2})?"
id="n" />