Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf primefaces对话框在显示后消失_Jsf_Jsf 2_Primefaces - Fatal编程技术网

Jsf primefaces对话框在显示后消失

Jsf primefaces对话框在显示后消失,jsf,jsf-2,primefaces,Jsf,Jsf 2,Primefaces,我有一个命令按钮和一个对话框。问题是对话框出现后,它消失了(1-2毫秒后)。我的commandbutton或其对话框有问题吗 <p:commandButton id="showDetailsButton" title="Details" onclick="details.show();" process="@this" update=":tabView:myForm:myDialogId"

我有一个命令按钮和一个对话框。问题是对话框出现后,它消失了(1-2毫秒后)。我的commandbutton或其对话框有问题吗

<p:commandButton id="showDetailsButton"
     title="Details"
     onclick="details.show();"
     process="@this"
     update=":tabView:myForm:myDialogId"                                         
     icon="ui-icon-search">                          
</p:commandButton>


<p:dialog id="myDialogId"
      header="Details"
      widgetVar="details"
      resizable="false"
      height="600"
      width="450"                  
      >
//some stuff
</p:dialog>

//一些东西
默认情况下,
呈现为

<button type="submit" ....> ... </button>

从commandbutton中删除进程和更新。它们刷新页面/部分。你不希望这样。

将onclick改为oncomplete,现在它工作得很好

<p:commandButton id="showDetailsButton"
 title="Details"
 oncomplete="details.show();"
 process="@this"
 update=":tabView:myForm:myDialogId"                                         
 icon="ui-icon-search">                          


我认为OP的代码不完整。仅当OP使用了
ajax=“false”
update=“someIdCoveringDialog”
等时,对话框才会消失。但是,当前的代码没有做到这一点。也许OP忘记了
。浏览器行为未指定。哎呀@巴卢斯,你说得对。我错过了命令按钮的默认ajax行为。是的,如果容器本身正在更新,对话框将消失。所以总的来说,我同意这个问题缺少细节!很明显,在他的问题中有一个更新(滚动到正确的进程=“@this”update=“:tabView:myForm:myDialogId”
进程
属性不能这样做,而且已经没有
更新
属性。在他的代码片段中,我清楚地看到一条更新语句:update=“:tabView:myForm:myDialogId”(向右滚动)关于@roel,你说得对。我想他确实想在单击时更新对话框的内容。也许他应该更新对话框内的容器,而不是对话框本身。多么糟糕的代码片段,请编辑,以便我收回否决票。毕竟,他显然想在显示对话框之前更新对话框的内容(例如,显示当前选定的项目)。解决方案是不删除
更新
。此外,
过程
属性根本不会刷新该部分。请阅读@BalusC对我的答案的评论。您需要在问题中提供更多详细信息!
<p:commandButton id="showDetailsButton"
 title="Details"
 oncomplete="details.show();"
 process="@this"
 update=":tabView:myForm:myDialogId"                                         
 icon="ui-icon-search">