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

时间:2015-06-29 07:29:34

标签: jsf primefaces commandlink

如何在不提交的情况下制作<p:commandLink>?仅适用于JS执行。 对于<p:commandButton>,我可以这样做:

<p:commandButton value="JS button" type="button" onclick="alert('clicked')"/>

<p:commandLink>的模拟是什么?

1 个答案:

答案 0 :(得分:13)

来自JavaScript处理程序的return false

<p:commandLink ... onclick="alert('clicked'); return false;" />

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

<p:commandButton ... onclick="alert('clicked'); return false;" />

每当您从HTML元素的任何JavaScript return false属性on*时,该元素的默认操作/行为(在这种情况下,提交表单)都将被阻止。

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

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

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