[英]f:ajax restricting the listener method call based on onevent return value
[英]Passing extra parameter to f:ajax onevent function
在我的JSF 2.0 (在JBoss AS 7上 )項目中,我希望在我的Ajax提交的表單上顯示一個在開始和完成階段觸發的小圖標狀態,以使最終用戶知道仍有事情發生。
p:ajaxStatus
在這里沒有用,因為我想在頁面的不同位置具有許多不同的圖標。
我在此問題中找到了一些解決方案:“ 如何在同一輸入中顯示不同的ajax狀態? ”,但我仍然有一個問題:為了使我的javascript函數可重用,我需要為調用提供一個額外的參數。
我做了這樣的事情:
<h:commandLink value="do something boy!">
<f:ajax render="@form" execute="@form" listener="#{myBean.doStuff}"
onevent="showProgress" />
<f:param name="extraParam" value="extraValue" />
</h:commandLink>
並且我可以看到通過請求將參數“ extraParam”發送到服務器,但是在我的javascript showProgress
方法中,我無法通過唯一的給定參數恢復它。
所以我的問題是: 我可以通過f:param
(或者可能是f:attribute
或其他任何東西)為我的f:ajax onevent
javascript方法提供一個附加參數嗎?
將其包裝在一個匿名函數中,在其中您將其作為額外的參數傳遞。
<h:commandLink value="do something boy!">
<f:ajax render="@form" execute="@form" listener="#{myBean.doStuff}"
onevent="function(data) { showProgress(data, 'extraValue') }" />
</h:commandLink>
與
function showProgress(data, extraParam) {
// Use "data" argument the usual way.
// The "extraParam" argument will contain "extraValue" in above example.
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.