簡體   English   中英

將額外的參數傳遞給f:ajax onevent函數

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

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