首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在移动应用程序中显示文本输入字段的数字键盘

如何在移动应用程序中显示文本输入字段的数字键盘
EN

Stack Overflow用户
提问于 2018-07-30 08:44:01
回答 1查看 777关注 0票数 0

我正在使用Cordova + react js来构建一个Android应用程序,并且我需要在输入字段中呈现一个货币数字。当这个input field获得焦点时,它会显示一个数字键盘。

用户键入一些数字后,它会将数字格式化为文本字符串。例如,如果用户输入394,333.2930,它会将其呈现为$394,333.293。格式化字符串对我来说没有问题。问题是如何显示text输入字段的数字键盘。

我知道它适用于number类型的输入,但它不允许用户输入,或货币符号。还有数字输入字段,用户可以输入多个点.,我不希望发生这种情况。那么,如何在Cordova应用程序中显示文本输入字段的纯数字键盘呢?我不确定这是Cordova特有的问题还是一般的web应用程序问题。

我已经尝试使用tel,但它仍然显示如下屏幕截图中的字符。它们在每个数字后显示为灰色字符。我怎么才能摆脱它们呢?

代码语言:javascript
复制
<input id="numberInput" type="tel" maxlength="6"/>

EN

回答 1

Stack Overflow用户

发布于 2018-07-30 08:55:04

可能有多种方法,但我也有完全相同的情况,我正在做如下所示。使用type="tel"和在keydown事件上添加检查来处理不需要的字符,如"#", "+", "*", ";", ",", "-"。以下是代码:

HTML:

代码语言:javascript
复制
<input id="numberInput" type="tel" maxlength="6"/>

JS:

代码语言:javascript
复制
// validation for targetSalary input
var invalidChars = ["#", "+", "*", ";", ",", "-"];
numberInput.addEventListener("keydown", function(event) {
  if (invalidChars.includes(event.key)) {
    event.preventDefault();
  }
});

希望这能对你有所帮助!

更新:

由于你已经改变了要求,并且按照这个新的要求,你想从键盘中隐藏特殊字符,对此要求的回答是,你不能以正常方式隐藏键盘中的特殊字符。也许你可以通过创建你自己的自定义键盘来实现它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51585726

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档