我正在使用Cordova
+ react js
来构建一个Android应用程序,并且我需要在输入字段中呈现一个货币数字。当这个input field
获得焦点时,它会显示一个数字键盘。
用户键入一些数字后,它会将数字格式化为文本字符串。例如,如果用户输入394,333.2930
,它会将其呈现为$394,333.293
。格式化字符串对我来说没有问题。问题是如何显示text
输入字段的数字键盘。
我知道它适用于number
类型的输入,但它不允许用户输入,
或货币符号。还有数字输入字段,用户可以输入多个点.
,我不希望发生这种情况。那么,如何在Cordova
应用程序中显示文本输入字段的纯数字键盘呢?我不确定这是Cordova
特有的问题还是一般的web应用程序问题。
我已经尝试使用tel
,但它仍然显示如下屏幕截图中的字符。它们在每个数字后显示为灰色字符。我怎么才能摆脱它们呢?
<input id="numberInput" type="tel" maxlength="6"/>
发布于 2018-07-30 08:55:04
可能有多种方法,但我也有完全相同的情况,我正在做如下所示。使用type="tel"
和在keydown
事件上添加检查来处理不需要的字符,如"#", "+", "*", ";", ",", "-"
。以下是代码:
HTML:
<input id="numberInput" type="tel" maxlength="6"/>
JS:
// validation for targetSalary input
var invalidChars = ["#", "+", "*", ";", ",", "-"];
numberInput.addEventListener("keydown", function(event) {
if (invalidChars.includes(event.key)) {
event.preventDefault();
}
});
希望这能对你有所帮助!
更新:
由于你已经改变了要求,并且按照这个新的要求,你想从键盘中隐藏特殊字符,对此要求的回答是,你不能以正常方式隐藏键盘中的特殊字符。也许你可以通过创建你自己的自定义键盘来实现它。
https://stackoverflow.com/questions/51585726
复制相似问题