【问题标题】:p:dialog not appearing after commandButton oncompletep:commandButton oncomplete 后没有出现对话框
【发布时间】:2015-03-06 15:22:28
【问题描述】:

我遇到了一个奇怪的问题,我无法找到原因。 我有一个 dataGrid,我在其中放置了一个 commandButton。

<p:dataGrid paginator="true"
    value="#{bean.searchedSystem}" var="searchedSystemObj"  
    columns="1" rows="6"
    WidgetVar="CadModel" pageLinks="5" filteredValue="" >

<p:commandButton value="More Details..."
    action="#{bean.viewMoreDetails(searchedSystemObj)}"
    oncompleted="PF('testDialog').show()"/> 

在调用 bean 的操作时,似乎并没有调用 oncomplete。

<p:dialog header="Modal Dialog" widgetVar="testDialog"
    modal="true" height="600" width="900">

所有这些都在一个单一的形式。 知道为什么吗?

已解决: 我已经解决了这个问题。谢谢你们帮助我。 问题是由于“处理图像......”(如处理内容时请稍候)......每个动作都没有正确处理。所以我修复了它,然后对话框开始出现。

【问题讨论】:

  • 您是否尝试过调试 ii 以帮助缩小问题的根源(例如:尝试 oncomplete='alert("done")' 并查看是否有效)?
  • 这个问题你解决了吗?
  • 是的!解决了。请看我的更新

标签: jsf primefaces


【解决方案1】:

我的第一个想法是属性是oncomplete 而不是oncompleted

此外,您必须注意小写/大写问题,因为 JSF 是 XML,它是区分大小写的。我在您的代码中看到了WidgetVar,但正确的属性是widgetVar


所有这些都在一个单一的形式中。

那么我的第二个想法是在&lt;p:dialog&gt; 中放置一个&lt;h:form&gt;,并确保你没有嵌套表单。

请参阅https://stackoverflow.com/a/10579708/1528942 了解详情。

【讨论】:

  • 大写的 WidgetVar 用于 dataGrid,但问题是 onclick commandButton 应该执行一个指定的操作,并且应该出现对话框,但在我的情况下对话框没有出现
  • 好的,我编辑了我的答案给你另一个想法。 :) 您在浏览器的控制台中是否遇到任何错误?
猜你喜欢
  • 2018-12-12
  • 1970-01-01
  • 2014-01-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多