0

当我单击 p:commandButton 以显示 ap:dialog 时出现 javacript 错误。

请找出以下错误:

Message: Object doesn't support this property or method
Line: 1
Char: 169
Code: 0
URI: http://localhost:8080/idm/javax.faces.resource/dialog/dialog.js.xhtml?     ln=primefaces&v=2.2.1

Message: Object doesn't support this property or method
 Line: 1
 Char: 133
 Code: 0
 URI: http://localhost:8080/idm/javax.faces.resource/button/button.js.xhtml?ln=primefaces&v=2.2.1

这是代码块:

     <ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.prime.com.tr/ui" 
xmlns:f="http://java.sun.com/jsf/core"
xmlns:c="http://java.sun.com/jsp/jstl/core">

<p:commandButton value="save"  onclick="dlg1.show();" ></p:commandButton>
     <p:dialog id="basicDialog" header="Basic Dialog" widgetVar="dlg1">  
  <h:outputText value="Resistance to PrimeFaces is futile!" />  
</p:dialog>
      </ui:composition>

所有其他 primefaces 组件都工作正常。

任何帮助,将不胜感激。

4

1 回答 1

2

是的,我们正在使用另一个 jQuery 副本

去掉它。PrimeFaces 作为一个基于 jQuery/jQuery UI 之上的 JSF 组件库,已经自动包含了其捆绑的 jQuery 文件,其中包括对话框组件。jQuery 的多个副本只会相互冲突,从而导致您所面临的那种 JS 错误。

如果您打算在不一定使用自动包含 PrimeFaces 捆绑的 jQuery 文件的 PrimeFaces 组件的页面上使用 jQuery,则将此行添加到<h:head>.

<h:outputScript library="primefaces" name="jquery/jquery.js" />

这样一来,PrimeFaces 捆绑的 jQuery 文件总是被包含在内,并且如果某些 PrimeFaces 组件碰巧需要它,PrimeFaces 不会自动包含重复的 jQuery 文件。

于 2013-06-28T14:25:10.613 回答