JSF:在文本框中键入时隐藏输入

时间:2011-04-12 15:37:57

标签: jsf

当用户在文本框中输入内容时,我想要隐藏SSN的前6个字符。像 * - -1234这样的东西 有没有内置标签,我可以做到这一点。提前谢谢。

1 个答案:

答案 0 :(得分:1)

标准JSF实现的“内置”组件仅代表标准HTML元素。任何这些HTML元素都不涵盖您的功能需求,因此标准JSF实现也不会包含它。最接近的是由JSF <input type="password">组件提供的HTML <h:inputSecret>,但这将掩盖所有字符,而不仅仅是指定的子集。

也没有第三方JSF组件库能够实现这一点。你基本上有两种选择,一种是简单选择,一种是更难选择。

  1. 将SSN拆分为两个输入字段。一个<h:inputSecret>和一个<h:inputText>。如有必要,添加一些onkeyup JavaScript帮助程序代码,当输入6个字符时,它会自动标记到下一个字段。在服务器端,只需将两个部分粘合在一起。

  2. 使用<h:inputHidden>作为值,使用普通<input type="text">和一些onkeydown JavaScript帮助程序代码填充隐藏的输入,并将屏蔽后的字符返回给可见输入前6个字符。