如何检查Onevent javascript函数是返回true还是False?因为我试图做的基本上是根据Javascript返回值来限制监听器方法调用。
以下代码在Firebug中返回语法错误。
<f:ajax event="keyup" render="@form" onevent="return validatePageNumber(event);" listener="#{bean.listenerMethod}"/>
那么我如何确定返回值并基于列表方法应该触发。谢谢提前:)
答案 0 :(得分:5)
onevent
属性必须指定JS函数引用名称,而不是整个JS脚本。 onevent
属性的正确用法是
<f:ajax ... onevent="functionName" />
(是的,没有括号!)
与
function functionName(data) {
alert(data.status); // Will show 3 times.
}
然而,对于您的想法,它显然是错误的工具。 onevent
应仅引用一个监听器函数,该函数将被调用3次:一次发送ajax请求之前,一次是ajax响应之后,一次是基于HTML DOM更新后关于ajax的回应。有关正确的实际使用示例,请参阅Proccess onclick function after ajax call <f:ajax>和Disable/enable commandbutton on ajax event。
只需使用父组件的onXXX
属性(其中XXX
正是您想要挂钩的<f:ajax event>
)。例如。 asusming它是<h:inputText>
:
<h:inputText ... onkeyup="return validatePageNumber(event)">
<f:ajax event="keyup" render="@form" />
</h:inputText>