Jsf 2 只读输入不';t在p:日历素数中工作

Jsf 2 只读输入不';t在p:日历素数中工作,jsf-2,primefaces,calendar,readonly,Jsf 2,Primefaces,Calendar,Readonly,我用这个: <p:calendar id="popupCal" yearRange="c:c+1" lang="fr" required="true" requiredMessage="Date obligatoire" readonlyInput="true" navigator="true" pattern="dd-M-yyyy" locale="fr" showOn="both"

我用这个:

    <p:calendar id="popupCal" yearRange="c:c+1" lang="fr" required="true"
                requiredMessage="Date obligatoire" readonlyInput="true"
                navigator="true" pattern="dd-M-yyyy" locale="fr"
                showOn="both" value="#{commandeMB.commande.dateCmd}"
                mindate="#{commandeMB.todaysDate}" />

在我写的时候,我将readonyinput设置为true

我也测试了readonly为true,两者都为true,但没有结果,日期总是可以更改的

是虫子吗


提前谢谢

只读
用于仅允许用户使用面板选择日期,并且无法从输入中更改日期的情况。如果您希望用户不能更改日期,则必须使用
disabled
属性来执行此操作

如果您希望用户能够看到日期选择器并且不能更改日期,则可以通过以下方式禁用dateselectevent:

<p:calendar onfocus="$('#ui-datepicker-div td').unbind();" readonly="true"/>

使用PF 3.4,此解决方案将:

  • 在只读文本输入字段上保留1.0不透明度 (即,禁用=真时不调暗不透明度)
  • 从字段中删除Datepicker类
  • 从字段中取消绑定事件。
(1) 创建一个函数:

函数setCalendarVis(只读){
如果(只读)
$('input:text').removeClass('hasDatepicker').unbind();
}

(2) 定义日历组件:

(三) 例如,可以通过p:dataable:

我的应用程序使用不同的样式来实现读写功能:

我对unbind()的使用相当粗暴。您可以对其进行优化,以仅解除特定事件的绑定


穿上火焰防护服

如果您希望用户不能更改日历日期的值,只需查看它,然后在
p:calendar
属性中使用
shown=“none”和
readonly=“true”
,我已经使用了它和它的工作原理(我正在使用Primefaces 5.0希望它在所有版本上都能工作):

事实上,我发现问题正在解决。在我们的应用程序中,它是readonlyInput,这就是它的工作原理。readOnlyInput没有

只需在输入中添加
[readonlynput]=“true”
属性即可

例如:

 <p-calendar [readonlyInput]="true">

readonly不适用于p:calendar,但您可以使用disabled。它们的外观不一样,但无论如何都能显示其价值

就这样,

<p-calendar [disabled]="true"></p-calendar>


我希望这能解决你的问题

但使用disable时,组件不会出现well@begiPass:那你想要什么?