2012-07-05 84 views
1

目前,我有一个<h:inputText>只插入数字输入

<h:outputLabel value="#{locale.nroEmployees}:"/> 
<h:inputText value="#{companyEditBean.companyEmployeesAmount}" 
      disabled="#{not companyEditBean.editingAllowed}"> 
</h:inputText>      

我怎样才能实现的,用户只能在输入字段中键入数字?

+0

查看htt电话号码://www.javascript-coder.com/html-form/javascript-form-validation.phtml – 2012-07-05 19:16:58

回答

2

你可以事后进行过滤,从而只接受数字,或做类似服用点:

<h:inputText value="#{companyEditBean.companyEmployeesAmount}" 
     disabled="#{not companyEditBean.editingAllowed}" 
     onkeypress="if(event.which &lt; 48 || event.which &gt; 57) return false;"/> 
+1

我做什么, 功能isNumberKey(事件){ \t \t \t \t VAR则charCode =(event.which)? event.which:event.keyCode; \t \t \t \t \t \t \t \t \t \t \t 如果\t(则charCode> = 48){ \t \t如果(57> =则charCode){ \t \t \t \t \t \t返回真; \t \t}} \t \t \t return false; \t \t} – 2012-07-06 15:02:20

+0

它工作的很棒! – alexander 2015-04-22 13:36:09

0

作为一种替代方式,可以使用primeface实现这一目标:

<h:form> 
<h:panelGrid columns="2"> 
     <h:outputText value="Number Input"/> 
     <h:inputText id="txt_" /> 
</h:panelGrid> 
<p:keyFilter for="txt_" mask="num" /> 
</h:form> 

或者,用你可以做到这一点(假设你添加了必需的jar并将扩展命名空间定义为pe)

<p:inputText id="txt_" required="false" label="" 
     value="#{beanclass.blablamethod}" maxlength="10"> 
     <f:validateLength minimum="10" for="txt_" /> 
     <pe:keyFilter regEx="/[\d\-]/"></pe:keyFilter> 
</p:inputText>