如何捕获在 rich:modalpanel 中输入的输入?

发布于 2024-11-30 14:40:04 字数 1605 浏览 0 评论 0原文

我在搜索结果页面上有一个编辑按钮,每当按下该按钮时,都会提示用户输入日期,然后再继续进入下一页。

没有模态功能的按钮:

<h:commandButton action="#{controller.open(rec, false)}" />

不知何故,我想在打开页面之前引入一个模态对话框,以从模型对话框中获取输入的日期并将其传递给打开方法,例如:

<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>

但现在我不知道如何捕获输入的日期。

I have an edit buttton on a search result page, That button whenever pushed should prompt the user to enter a date prior to continuing on to the next page.

Button without the modal feature:

<h:commandButton action="#{controller.open(rec, false)}" />

Somehow I would like to introduce a modal diaglog prior to opening the page to get the entered date from the model dialog and pass it to the open method, something like:

<h:commandButton onClick="openAModelDialog()" 
action="#{controller.open(rec, false, enteredDate)}" />

I have SEAM 2.2, JSF and Richfaces available to me. Not sure how to best to meet this need.

What I have accomplished so far:
Altered the button to open a modal dialog.

<a4j:commandButton onclick="#{rich:component('mp')}.show(); return false;" 
action="#{controller.open(rec, false)}" />

Setup the modal dialog:

<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>

But now I do not know how to capture the date entered.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

明媚殇 2024-12-07 14:40:04

您不能将第一个操作移到模式面板中吗? 不必在模态面板中使用:

<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?

Could you not move your first action into your modal panel? So instead of having in your modal panel:

<input type="button" onclick="#{rich:component('mp')}.hide()" value="Enter" />

you have something like:

<a4j:commandButton oncomplete="#{rich:component('mp')}.hide()" action="#{controller.open(rec, false)}" value="Enter" />

It will have to be inside a form to work. The first button to open the modal panel could just be used to show the panel and not have any action called. If the modal form is not inside the same form as the first button then you could set your properties in first form on showing the modal panel maybe by using the f:setPropertyActionListener?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文