当我点击输入 <input type="number" id="n" />
;在 keypress
上键入一些键输入的功能。然后输入 .
虽然它显示在输入上,但我看不到 .
在 $('#n').val()
.
例如在输入后:123.
然后 $('#n').val()
只返回123
.
有没有<input type="number" />
的属性我可以得到它的 raw value
这是123.
而不是 123
?
$("#n").on("keypress", function(event) {
console.log($("#n").val());
});
<script src="https://code.jquery.com/jquery-2.1.4.js"></script>
<input type="number" pattern="[0-9]{1,2}([\.][0-9]{1,2})?" id="n" step="0.01" />
更新:
-
input
必须具有类型编号,以允许它仅在移动网络上的软键盘上显示数字输入。 它应该检查模式 99.99 并按如下方式工作:
- 当输入 9 OK//输入:9
- 输入 9 OK//输入:99
- 键入 9 NO,它不匹配模式//输入:99
- 然后输入 1 NO,它不匹配模式//input: 99
- ..在这里可以自由输入任何内容而不是点 (.)...
- 键入点(.) OK//输入:99。
- 输入 9 OK//输入:99.9
- 输入 9 OK//输入:99.99
- 输入 9 NO//输入:99.99
如果不检测存在点 (.),我如何检测输入多个 .
的情况?连续 ?
最佳答案
我自己之前也遇到过这个问题。也许这可以帮助:
$("#n").on("keyup", function(event){
var val = $('#n').val();
if(event.keyCode == 190) {
val+='.';
}
console.log(val);
});
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
</head>
<body>
<script src="https://code.jquery.com/jquery-2.1.4.js"></script>
<input type="number" id="n" />
</body>
</html>
关于javascript - 无法从 HTML 输入类型编号(包括点 (.))获取原始值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43346284/