如何调用JS功能的JSF按钮和块页面重载/导航的点击?(How to call JS functio

2019-07-17 23:11发布

什么是创建一个按钮,JSF调用JS功能的首选方式?

其实我使用:

<p:button onclick="myJSFunction();" href="#"/>

但我的网址为后缀的锚符号( # )。

是否有另一种推荐的方法来创建按钮,将不会重新加载/导航到URL,但调用JS功能吗?

Answer 1:

这是因为它实际上是导航到# 。 您需要执行其默认操作,如指定被导航到当前视图,或将URL阻止按钮hrefoutcome 。 您可以通过添加达到这个return false; 到的末尾onclick

<p:button onclick="myJSFunction(); return false;" />

或者,如果myJSFunction()实际上返回一个boolean应该确定按钮应该继续其默认的动作,然后委托给它:

<p:button onclick="return myJSFunction();" />

<h:button>以完全相同的方式,它是唯一的标准look'n'feel。

另一种方法是使用<p:commandButton type="button">它产生一个实<input type="button">没有任何导航。 这样,您就不需要从返回false onclick

<p:commandButton type="button" onclick="myJSFunction()" />

然而,这需要一个<h:form> (尽管将其置于的任何形式外不破坏任何功能)。 这同样适用于<h:commandButton>



文章来源: How to call JS function on click of JSF button and block page reload/navigation?