2013-05-07 33 views
0

我有一個JavaScript,我放在extraHeaderContent:調用從A4J一個javascript:在RichFaces的jsFunction 3.3.3

<ui:define name="extraHeaderContent"> 
    </script> --> 
    <script type="text/javascript"> 
    function getTimezoneName() { 
     var timezone = jstz.determine_timezone(); 
     return timezone.name(); 
    } 
    </script> 
</ui:define> 

我想利用這個腳本來獲取時區,然後在使用它A4J:jsFunction這樣的:

<a4j:jsFunction name="getTimezoneName" data="#{usertimezone.userTimeZone}" > 
      <a4j:actionparam name="userTimeZone" 
           assignTo="#{usertimezone.userTimeZone}" 
           /> 
</a4j:jsFunction> 

,甚至是這樣的:

<a4j:jsFunction action="#{usertimezone.prepareTimeZone()}" > 
      <a4j:actionparam name="userTimeZone" 
           value="getTimezoneName()" 
           assignTo="#{usertimezone.userTimeZone}" 
           noEscape="true"/> 
</a4j:jsFunction> 

但這些都不是工作。我究竟做錯了什麼?

回答

2

我覺得你有困惑如何A4J:jsFunction工作,它可以讓你從觸發JavaScript中的服務器端方法(你似乎在試圖解決其他方式)

例如...

<a4j:jsFunction name="myJavascriptMethod" action="#{myActionBean.myJavaMethod}" > 
    <a4j:actionparam name="param" assignTo="#{myActionBean.beanParam}"/> 
</a4j:jsFunction> 

<script> 
    var param = "foo"; 
    myJavascriptMethod(param); 
</script> 
相關問題