2013-10-15 47 views
1

如何在jsFunction中使用參數? 我只是試圖做這樣的事情,但I'T不起作用,即使使用支持bean變量,而不是#{id}在richfaces jsFunction中使用參數

<a4j:jsFunction name="test" reRender="#{id}" oncomplete="alert('#{id}');"> 
    <a4j:actionparam name="id" assignTo="#{id}" /> 
</a4j:jsFunction> 


<a4j:commandButton immediate="true" onclick="test('outputPanel1');"/> 
<a4j:commandButton immediate="true" onclick="test('outputPanel2');"/> 
<a4j:commandButton immediate="true" onclick="test('outputPanel3');"/> 

我知道我可以在每一個的commandButton使用重新呈現,但是這是隻是一個例子來顯示我想要的行爲。

我使用的是richfaces 3.3.3。

感謝

回答

0

這裏是你正在努力實現在livedemo什麼一個例子: http://livedemo.exadel.com/richfaces-demo/richfaces/jsFunction.jsf?c=jsFunction&tab=usage

儘量遵循。與你的例子相比較,嘗試更改爲(形式圍繞jsFunction,無需按鈕點擊提交申請需要):

<a4j:form>  
    <a4j:jsFunction name="test" reRender="#{myBean.id}" oncomplete="alert('#{myBean.id}');"> 
    <a4j:actionparam name="id" assignTo="#{myBean.id}" /> 
    </a4j:jsFunction> 

    <a4j:commandButton onclick="test('outputPanel1'); return false;"/> 
    <a4j:commandButton onclick="test('outputPanel2'); return false;"/> 
    <a4j:commandButton onclick="test('outputPanel3'); return false;"/> 
</a4j:form> 
+1

我不知道我在做什麼錯了,因爲我已經用在livedemo的例子我無法成功,但我再次嘗試,並取得成功。謝謝xD – OscarSan

+0

;(我發現爲什麼我不能使用這個:如果我在文件上載中使用它,jsFunction沒有收到參數 – OscarSan