Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/368.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
Javascript 如何获得组件rich:modalPanel的所有可用java脚本方法?_Javascript_Jsf_Richfaces - Fatal编程技术网

Javascript 如何获得组件rich:modalPanel的所有可用java脚本方法?

Javascript 如何获得组件rich:modalPanel的所有可用java脚本方法?,javascript,jsf,richfaces,Javascript,Jsf,Richfaces,我的xhtml页面中有一个rich:modalPanel: <rich:modalPanel id="submitPanel" width="100" height="100" style="text-align:center;margin-top:30px;"> <h:graphicImage value="/img/ajax-loader.gif" style="border: 0;" height="30" width="30" /

我的xhtml页面中有一个rich:modalPanel:

<rich:modalPanel id="submitPanel" width="100" height="100"
    style="text-align:center;margin-top:30px;">
    <h:graphicImage value="/img/ajax-loader.gif" style="border: 0;"
            height="30" width="30" />
</rich:modalPanel>

现在我可以在组件h:commandLink的onclick js属性中调用它,例如:

<h:commandLink styleClass="dontsave left" value="#{txt.cancel}"
        action="#{newMessageBean.cancelAction}"
        onclick="#{rich:component('submitPanel')}.show(); return true;" />

但我如何才能获得组件丰富的所有可用js方法:modalPanel?JBoss文档不是一个好方法,因此我可能使用一个旧的richfaces版本,它没有以合适的方式进行文档记录


如何在运行时使用所有可用方法检查这些对象?例如,使用Firebug和命令“console.log(#{rich:component('submitPanel')})”或其他什么?最好的解决方法是什么?

您可以这样调用“显示模式面板”:

<a4j:commandButton styleClass="button" value="#{msg.addNote}"
    oncomplete="Richfaces.showModalPanel('noteDetails')">
</a4j:commandButton>

<rich:modalPanel id="noteDetails" />
    <f:facet name="controls">
        <h:graphicImage value="/images/close.png" 
            style="cursor:pointer" onclick="Richfaces.hideModalPanel('noteDetails')" />
    </f:facet>
</rich:modalPanel>

您需要知道组件的完整id,例如
j_id352:panel
。然后您可以使用
$('j_id352:panel')访问组件。组件

您不能使用
{rich:component('submitPanel')}
,因为
{…}
仅在呈现页面之前用于服务器端处理


你应该考虑更新,至少要到RF 3.3.3,如果你不能进入RF 4。

< p>你可以检查<代码> MODALPAND。原型对象在Fibug中。

用于输出
ModalPanel.prototype
的所有成员的快速JavaScript片段:

var result = '';
for (var item in ModalPanel.prototype) {
   result += item + '\n';
}
alert(result);

你说得不对。转至并检查RichFaces 3.3.3节。有很好的文档。试着从开始。但是我以前遇到过这种情况,我想使用rich:calendar组件的文档化方法。在这种情况下,使用对象的文档不一样!!在开发者指南中,每个组件都有一节
JavaScript-API
。日历组件见表6.163。JavaScript API。请参阅《实用RichFaces,第二版》一书中有关将javascrript与RichFaces结合使用的更多信息,您是不对的!看这里:文档说明了方法“getSelectedDate()”中的rich:calendar组件,但是这个方法不起作用,因为它不存在于这个对象中。在本例中,正确的方法是“getSelectedDateString()”
var result = '';
for (var item in ModalPanel.prototype) {
   result += item + '\n';
}
alert(result);