我想使用<p:calendar>
,但我似乎无法找到让用户清除以前输入的值的方法。例如,使用“全选”和“退格”来清除输入只会导致验证(转换)错误。更复杂的是,我还在输入字段上放置了一个 jQuery 掩码“99/99/9999”。
是否可以让用户在<p:calendar>
小部件中选择或输入日期,最重要的是,如果需要,允许他们清除输入?
同样,用户需要能够手动或使用日期选择器输入日期值。
到目前为止,似乎 jquery 日期掩码——即__/__/____
——与用户无法简单地在其输入上加空格有关......即,当按下提交按钮时,原始手动输入的值只会重新出现。--不幸的是,我需要提供一个日期输入掩码来指导用户手动输入日期时的正确输入格式。
以下是小部件外观的示例:
<p:calendar
pattern="MM/dd/yyyy"
widgetVar="birthDate_var"
id="birthDate"
requiredMessage="birth date required"
validatorMessage="invalid birth date "
converterMessage="invalid birth date format"
readonly="false"
readonlyInput="false"
navigator="true"
showOn="button"
value="#{testBean.parmMap['birthDate']}"
size="10"
maxlength="10"
yearRange="c-120:c+0"
onfocus="$('#queryForm\\:msgs > div').hide();$('#queryForm\\:msgs > div').eq(1).show();$(this).mask('99/99/9999');return false;">
<p:ajax event="dateSelect" listener="#{testBean.updateBirthDate}" process="@this" />
<p:ajax event="change" listener="#{testBean.updateBirthDate}" process="@this" />
</p:calendar>
我怎样才能做到这一点?我正在使用 Mojarra 2.1.11 和 PrimeFaces 3.4.2。