h:inputText 在输入期间只允许数字[重复]

Posted

技术标签:

【中文标题】h:inputText 在输入期间只允许数字[重复]【英文标题】:h:inputText allow only numbers during input [duplicate] 【发布时间】:2015-08-09 23:49:28 【问题描述】:

我在 JSF2 中有一个字段,我尝试以这种方式执行验证:

<h:inputText value="#manutencaoContratoBean.contrato.nuContrato" style="text-align: left; width: 90%; ">
<f:convertNumber pattern="#######" maxFractionDigits="0" maxIntegerDigits="16"/>

因此:

<h:inputText value="#manutencaoContratoBean.contrato.nuContrato" style="text-align: left; width: 90%; ">
  <f:convertNumber integerOnly="true"/

但是,我的字段只进行验证并向我显示一条消息,我只想插入数字,而不是字符串,这是可能的吗?

是否可以只插入数字?如果相关的话,我正在使用 RichFaces 4。

我发现了这个,很好用:

onkeypress="if(event.which &lt; 48 || event.which &gt; 57) return false;"

但这不允许点击退格按钮,以防用户出错。

提前感谢大家!

【问题讨论】:

Primefaces InputNumber 【参考方案1】:

我用完了这个功能:

onkeypress="if(event.which &lt; 48 || event.which &gt; 57 ) if(event.which != 8) return false;"

这个在 IE 和 Chrome 上很好用,我不知道为什么它在 Firefox 上也不好用,这个功能在 Firefox 中阻止了 tab 键。

对于在 Firefox 中可以正常工作的 tab 键添加:

onkeypress="if(event.which &lt; 48 || event.which &gt; 57 ) if(event.which != 8) if(e.keyCode != 9) return false;"

谢谢大家。

【讨论】:

在发布问题之前您是否实际搜索过***?我见过几个重复的 是的,我找到了,没有找到你推荐的帖子,抱歉,下次我会注意的。

以上是关于h:inputText 在输入期间只允许数字[重复]的主要内容,如果未能解决你的问题,请参考以下文章

只允许在文本框中输入数字[重复]

如何只允许数字作为输入? - Python [重复]

使用jquery脚本设置h:inputtext字段的值

如何在 h:inputText 中保留以前输入的数据?

为啥 <h:inputText required="true"> 允许空格?

仅将inputText值限制为字母字符