[英]f:ajax restricting the listener method call based on onevent return value
我如何檢查Onevent javascript函數是否返回true或False? 因為從根本上來說,iam試圖做的是基於Javascript返回值來限制偵聽器方法的調用。
以下代碼在Firebug中返回語法錯誤。
<f:ajax event="keyup" render="@form" onevent="return validatePageNumber(event);" listener="#{bean.listenerMethod}"/>
所以我該如何確定返回值以及基於lister方法應該觸發的結果。
onevent
屬性必須指定JS函數引用名稱,而不是整個JS腳本。 onevent
屬性的正確用法是
<f:ajax ... onevent="functionName" />
(是的,沒有括號!)
與
function functionName(data) {
alert(data.status); // Will show 3 times.
}
但是,對於您所想到的目的,這顯然是錯誤的工具。 onevent
應該僅引用將調用3次的偵聽器函數:一次在發送ajax請求之前,一次在到達ajax響應之后,一次在基於ajax響應更新HTML DOM之后。 有關正確的實際用法示例,請參見ajax調用<f:ajax>后的Proccess onclick函數和ajax event的Disable / enable命令按鈕 。
只需使用父組件的onXXX
屬性即可(其中XXX
正是您要掛接的<f:ajax event>
)。 例如,假設它是<h:inputText>
:
<h:inputText ... onkeyup="return validatePageNumber(event)">
<f:ajax event="keyup" render="@form" />
</h:inputText>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.