如何解决通过通过其styleClass选择它来复制其他按钮的功能
| 假设单击modalPanel上的按钮A会执行actionA:<a4j:commandLink styleClass=\"abc\"
immediate=\"true\"
action=\"actionA\"
oncomplete=\"#{rich:component(\'modalPanel\')}.hide(); Event.stop(event); return false;\">
</a4j:commandLink>
现在,我有另一个按钮,按钮B,它需要模仿按钮A的功能。这是按钮B的代码:
<h:outputLink value=\"javascript:void(0)\" class=\"btn-image close\">
<span><h:outputText value=\"Close\"></h:outputText></span>
<rich:componentControl for=\"#{(empty modalId) ? defaultModalId : modalId}\" operation=\"hide\" event=\"onclick\"/>
</h:outputLink>
在rich:componentControl \的\'for \'属性中,我可以搜索按钮A并调用actionA吗?
任何帮助,将不胜感激!!
解决方法
到目前为止,您需要知道所讨论的
<a4j:commandLink>
组件的HTML<a>
元素的ID。如果它是动态/自动生成的,则您希望通过给组件和父UINamingContainer
组件(如<h:form>
)赋予固定ID,让JSF生成固定的客户机ID。
<h:form id=\"myform\">
<a4j:commandLink id=\"mylink\" ... />
...
</h:form>
在上面的示例中,ID将变为“ 7”。要通过JS调用“ 8”事件,您可以执行以下操作
<h:outputLink onclick=\"document.getElementById(\'myform:mylink\').click()\">
如果您使用的是RichFaces4,则可以使用#{rich:element()}
通过服务器端ID定位元素,这样就不必知道表单的ID
<h:outputLink onclick=\"#{rich:element(\'mylink\')}.click()\">
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。