使用<p:commandLink>仅用于JS执行而不提交表单

Gre*_*ory 7 jsf commandlink primefaces

如何<p:commandLink>不提交?仅适用于JS执行.因为<p:commandButton>我可以这样做:

<p:commandButton value="JS button" type="button" onclick="alert('clicked')"/>
Run Code Online (Sandbox Code Playgroud)

什么是模拟<p:commandLink>

Bal*_*usC 14

只是return false从JavaScript处理程序.

<p:commandLink ... onclick="alert('clicked'); return false;" />
Run Code Online (Sandbox Code Playgroud)

on*顺便说一下,这同样适用于所有其他属性和命令按钮.

<p:commandButton ... onclick="alert('clicked'); return false;" />
Run Code Online (Sandbox Code Playgroud)

无论何时return false来自on*HTML元素的任何JavaScript 属性,元素的默认操作/行为(在这种情况下,提交表单)都将被阻止.

尽管如此,如果您根本不需要调用JSF支持bean操作方法,则首先不要使用命令链接/按钮组件.使用普通链接/按钮组件.

<h:link ... onclick="alert('clicked'); return false;" />
Run Code Online (Sandbox Code Playgroud)
<p:button ... onclick="alert('clicked'); return false;" />
Run Code Online (Sandbox Code Playgroud)

这些也不需要放在一个表格中.