Fw: [問題] 初學Primefaces,請教語法問題

作者: lueichun (no anonymous)   2020-07-02 20:10:23
以下的primefaces code,
可以做出讓calendar的起始日期、到期日期範圍被限制在一個範圍的效果,
例如起始日期選擇2020/6/27,那麼到期日期就只能從2020/6/27開始選擇,
6/26以前的日期不能選;或是到期日期選擇2020/6/25,
那麼起始日期就只能從2020/6/24之前開始選:
※程式碼:
<p:column>
<p:calendar id="fromDate" showOn="both" value="#{testAction.fromDate}"
binding="#{fromDate}" maxdate="#{toDate.value}">
<p:ajax event="dateSelect" partialSubmit="true"
process="@this, toDate" update="@this, toDate" />
<p:ajax event="change" partialSubmit="true"
process="@this, toDate" update="@this, toDate" />
</p:calendar>
</p:column>
<p:column>
<p:calendar id="toDate" value="#{testAction.toDate}" showOn="button"
binding="#{toDate}" mindate="#{fromDate.value}">
<p:ajax event="dateSelect" partialSubmit="true"
process="@this, fromDate" update="@this, fromDate" />
<p:ajax event="change" partialSubmit="true"
process="@this, fromDate" update="@this, fromDate" />
</p:calendar>
</p:column>
看起來是primefaces ajax的功能,
不過在這邊ajax的設定,除了設定觸發的事件外,
只是將日期所在的欄位id,透過process屬性,餵進ajax,
並透過partialSubmit屬性提交欄位值,也就是起始日期與到期日期;
並且透過update屬性,設定要刷新的欄位id。
除此之外並沒有設定對應的code來處理提交的欄位值,
那麼提交出去的欄位是如何處理的呢?是利用
primefaces ajax或calendar自身的設定或功能來處理嗎?
還有為甚麼觸發的事件會用到dateSelect、change這兩個??
日期改變就要能自動修改日期範圍不是嗎?那不能只用change事件就好?

Links booklink

Contact Us: admin [ a t ] ucptt.com