在richfaces_reference.pdf P298
原来的例子:
<rich:modalPanel id="panel"> <f:facet name="header"> <h:outputText value="header"> </f:facet> ... <!--Any Content inside--> ... <a href="javascript:RichFaces.hideModalPanel('form:panel')">Hide</a> </rich:modalpanel> ... <a href="javascript:RichFaces.showModalPanel('form:panel')">Show</a>
在Firebug中提示RichFaces.showModalPanel is not a function
javascript:RichFaces.showModalPanel('form:panel') Line 1
我还以为是在页面引入不对,就一个一个js文件找。
/a4j_3_1_2.GAorg.ajax4jsf.javascript.AjaxScript.jsf
/a4j_3_1_2.GAorg/richfaces/renderkit/html/scripts/modalPanel.js.jsf
/a4j_3_1_2.GAorg/richfaces/renderkit/html/scripts/utils.js.jsf
都没发现什么问题,倒是把javascript的类及对象的知识又巩固了一遍。
最后偶然发现原来在声明的对象是Richfaces.而不是RichFaces注意大小写。
在utils.js.jsf中是这样写的:
if (!window.Richfaces) { window.Richfaces = {}; }
这个小问题花了我一个上午的时间。
改正大小写后就没问题了。