簡體   English   中英

f:ajax根據onevent返回值限制偵聽器方法調用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM