我需要一個輸入組件才能接受數字,如[0-9]
。我已經通過服務器端轉換/驗證實現了這一點:如何在h:inputText中的按鍵事件中限制字符
<h:inputText ... converter="javax.faces.Integer" />
但是,它仍然允許其他字符進入UI。如何在keypress
事件期間防止這種情況發生?
<h:inputText ... converter="javax.faces.Integer" onkeypress="...help?" />
我需要一個輸入組件才能接受數字,如[0-9]
。我已經通過服務器端轉換/驗證實現了這一點:如何在h:inputText中的按鍵事件中限制字符
<h:inputText ... converter="javax.faces.Integer" />
但是,它仍然允許其他字符進入UI。如何在keypress
事件期間防止這種情況發生?
<h:inputText ... converter="javax.faces.Integer" onkeypress="...help?" />
試試這個
<h:inputText id="presentReading" styleClass="labelfont" label="Present Reading" converter="javax.faces.Integer"value="#{FuelFilling1.presentReading}" maxlength="10">
<f:validateLongRange minimum="1" maximum="10"/>
</h:inputText>
或者,你可以使用jQuery或Javascript來驗證對按鍵的客戶端。你可以使用JQuery嗎?
我會建議堅持jsf驗證。
<f:convertNumber integerOnly="true" type="number" />
如果您不想將表單提交到獲取響應,您可以使用ajax實時驗證。使用javascript/jQuery做keypress驗證可以做到,但是除非你有這麼做的充分理由,否則會很痛苦。
這不完全是一個JSF問題,而只是JavaScript。在這種情況下,這個問題是一個愚蠢的:[限制文本字段僅限數字的最佳方式?](http://stackoverflow.com/questions/3764821/best-way-to-restrict-a-text-field- to-numbers-only) – BalusC 2013-04-05 13:10:43
@BalusC謝謝你,先生。 – 2013-05-01 05:28:39