我在搜索结果页面上有一个编辑按钮,按下该按钮会提示用户在继续下一页之前输入日期。
没有模态功能的按钮:
<h:commandButton action="#{controller.open(rec, false)}" />
不知何故,我想在打开页面之前引入一个模态diaglog,以便从模型对话框中获取输入日期并将其传递给open方法,如:
<h:commandButton onClick="openAModelDialog()"
action="#{controller.open(rec, false, enteredDate)}" />
我可以使用SEAM 2.2,JSF和Richfaces。不确定如何最好地满足这种需求。
到目前为止我所取得的成就: 改变按钮以打开模态对话框。
<a4j:commandButton onclick="#{rich:component('mp')}.show(); return false;"
action="#{controller.open(rec, false)}" />
设置模式对话框:
<rich:modalPanel id="mp" minHeight="300" minWidth="450">
<f:facet name="header">
<h:outputText value="Enter Signature Date" />
</f:facet>
<table>
<tr>
<td>Enter Signature Date:</td>
<td>
<rich:calendar disabled="#{readOnly}"
enableManualInput="false" converterMessage="'Signature Date' must be a date."
datePattern="MM/dd/yyyy"
value="#{searchController.enteredSignatureDate}"
ajaxSingle="false" showWeekDaysBar="false" showWeeksBar="false"
requiredMessage="Please provide the Signature Date."/>
<input type="button" onclick="#{rich:component('mp')}.hide()" value="Enter" />
</td>
</tr>
</table>
</rich:modalPanel>
但现在我不知道如何捕捉输入的日期。
答案 0 :(得分:1)
你能不能将你的第一个动作移到你的模态面板中?因此,而不是在你的模态面板中:
<input type="button" onclick="#{rich:component('mp')}.hide()" value="Enter" />
你有类似的东西:
<a4j:commandButton oncomplete="#{rich:component('mp')}.hide()" action="#{controller.open(rec, false)}" value="Enter" />
它必须在一个表单内才能工作。打开模态面板的第一个按钮可用于显示面板,而不会调用任何操作。如果模态形式不在与第一个按钮相同的形式内,那么您可以在显示模态面板时使用f:setPropertyActionListener来设置第一种形式的属性吗?