Jsf Primefaces智能地找到对话框?
这是如何工作的:Jsf Primefaces智能地找到对话框?,jsf,primefaces,ajax4jsf,Jsf,Primefaces,Ajax4jsf,这是如何工作的: <h:form id="newForm"> <p:dialog header="x" widgetVar="newDialog" id="newDlg" modal="true"> ... <p:commandButton value="Close" update=":form1:dt1" id="cancelNew" immediate="true"> <f:ajax event="click" onevent="xy
<h:form id="newForm">
<p:dialog header="x" widgetVar="newDialog" id="newDlg" modal="true">
...
<p:commandButton value="Close" update=":form1:dt1" id="cancelNew" immediate="true">
<f:ajax event="click" onevent="xyz.hide()" />
</p:commandButton>
...
onevent
指不存在的名称;然而,当我点击按钮时,对话框关闭了。如果省略ajax元素,它不会关闭。这是某种PF(4)黑魔法吗?我想当你省略onevent
时,更新就会运行,然后你转到:form1:dt1
。这一切都正常,对话框按其应做的那样关闭(因为更新
)。但是,当您有onevent
时,您会得到一个异常(据我所知),并且由于该异常,对话框保持打开状态。如果您检查日志,您应该会看到异常
对话框内部还应存在一个表单,如:
<p:dialog widgetVar="Dialog" .........
<h:form id="formDialog">
...............
不,没有例外。此外,如果省略更新
,它也会关闭。假设所有元素都存在,例如表单对话框等。对吗?此外,我假设对话框内部有一个带有表单
的标记。我认为最好发布页面的代码,因为表单和对话框的层次结构在发布相关内容时起着重要作用。这里没有其他形式的魔法。如果它不在那里,它就不在那里。查看生成的HTML的源代码,查看生成的onclick标记是什么。我很确定它仍然是xyz.hide()
。