微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – JSF:一起使用onclick actionListener

我正在尝试在按钮单击时执行JavaScript并同时在后台设置属性.执行JS代码有效,但不会调用属性动作侦听器.但是,当我删除onclick属性时,单击命令按钮时会在后备中设置属性.我也尝试过使用actionListener.但同样的问题.这是我的JSF代码

<rich:dataTable value="#{bean.items}" var="item">
  <rich:column>
    <a4j:commandButton value="Upload" onclick="Richfaces.showModalPanel('p-id');return false;">
       <f:setPropertyActionListener target="#{bean.targetId}" value="#{item.id}" />   
   </a4j:commandButton>
 </rich:column>
 // more columns
</rich:dataTable>

在这里错过了什么吗?

解决方法:

< a4j:commandButton>组件生成HTML< input type =“submit”>元素以及一堆与当前问题无关的ajax魔法的JS代码.

组件的onclick属性生成为完全相同的HTML元素的onclick属性. onclick属性通常是指在特定HTML元素上触发HTML DOM click事件时执行的一些JavaScript代码.当最终用户单击HTML元素时会立即触发此事件,这将在HTML元素的认操作(提交父表单)被调用之前发生.更重要的是,认操作可以通过JavaScript代码的布尔结果来控制.如果返回false,则不执行认操作.这就是你的情况.

如果要同时调用onclick属性中的JavaScript代码和HTML< input type =“submit”>的认操作.元素,那么你必须返回true,或者只是删除返回false;一块完整的.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐