键入时JSF格式为h:inputText

时间:2015-01-28 17:26:52

标签: jsf string-formatting

我正在用纯JSF构建一个页面。

在那个页面上,我有一些关于日期的字段......但我不需要日期选择器。所以我使用了<h:inputText>

当我输入像01/01/1970这样的有效日期时,这是有效的。但我需要输入&#34; /&#34;。

我想在这个输入上添加一些掩码。我怎么能这样做?

2 个答案:

答案 0 :(得分:2)

你会想要使用像Primefaces这样的jQuery或JSF组件库。

使用Primefaces inputMask,您可以执行此操作

<p:inputMask id="date" value="#{maskView.date}" mask="99/99/9999"/>

或者,如果使用jQuery,jQuery Mask plugin提供类似的功能。通过简单地定位输入元素,然后应用mask()javascript函数

来使用它
$(document).ready(function(){
    $('.date').mask('00/00/0000');
});

如果Primefaces和jQuery不是选项,则可以始终使用普通的Javascript。一点警告,使用普通的JS就需要做很多工作。

答案 1 :(得分:0)

用简单的JS解决......

在inputText上添加了<f:ajax event="keypress" onevent="formatDate(this)"/>

和功能

function formatarData(obj) {
    if (obj.value.length == 2 || obj.value.length == 5) {
        obj.value += "/";
    }
    return;
}