0

目前我正在尝试打开一个模式对话框,其中包含一个填充了来自支持 bean 的值的表单。由于每个按钮都与表中的条目链接,因此使用按钮中提供的对象加载 bean(或应该加载,因为目前不工作)。该按钮的当前代码如下。

modal和触发事件的按钮在同一个页面,但是这个页面有2个bean。一个用于单击按钮后应立即显示的模态(用于修改给定对象),另一个用于在主窗口中打印所有数据。

基本上我要做的是实例化一个bean,将给定对象传递给第二个bean通过请求具有的@PostConstruct方法,并在所有过程完成后显示模态,刷新模态然后显示它向上。

<b:button value=""
    icon-size="2x"
    onclick="#{bean.dummy()}"
    style="height: 64px; width: 64px; float: right; border: none; margin-top: 25px; border-radius: 0px;"
    oncomplete="$('.config_modal').modal()">
        <f:param name="action" value="#{bean.value}" />
</b:button>

除了该代码之外,我还尝试了下面列出的一些修改。上一个是最新的。

  • 以前,JSmodal()调用位于“onclick”事件中。
  • 添加了一个“虚拟”方法,因为模态对话框从未与实际代码一起显示,因为我认为我需要一种触发器。
  • 它不是一个b:commandButton,因为它刷新了整个页面并且永远不会显示对话框。
4

1 回答 1

0

页面重新加载后,oncomplete 不会触发。你需要使用ajax。例如<h:form><b:commandButton value="click" action="#{bean.dummy}" oncomplete="$('.config_modal').modal('true');"><f:ajax render="@form"/></b:commandButton></h:form>。您要重绘的页面的任何部分都必须在<h:form>

于 2017-10-19T18:16:56.513 回答