2011-09-27 63 views
1

早上好!如何將JavaScript函數的值設置爲Enterprice Java Bean的字段?
我有js函數:JSF。如何將JavaScript函數的值設置爲Bean的字段?

<script type="text/javascript"> 
    function getTimezone() { 
     var d = new Date() 
     var gmtMinutes = -d.getTimezoneOffset(); 
     return gmtMinutes; 
    } 
</script> 

我試圖使用方法:

<a4j:jsFunction name="timezone" assignTo="MyBean.gmtMinutes"> 
     <a4j:actionparam name="timezone" value="getUserId()"/> 
</a4j:jsFunction> 

但我沒有得到。我認爲我錯誤地使用了標籤a4j:jsFunction。請給我建議,如何正確使用標籤!

回答

0

您可以註冊jsFunction它發送參數值到服務器:

 <a4j:jsFunction name="updateTimeZone"> 
      <a4j:param name="timezone" assignTo="#{MyBean.gmtMinutes}"/> 
     </a4j:jsFunction> 

,然後調用該jsFunction從JavaScript:

<script type="text/javascript"> 
    function sendTimezoneToServer() { 
     var d = new Date() 
     var gmtMinutes = -d.getTimezoneOffset(); 
     updateTimeZone(gmtMinutes); 
    } 
</script> 

還有在RichFaces的相同的例子展示: http://richfaces-showcase.appspot.com/richfaces/component-sample.jsf?demo=jsFunction&skin=blueSky

+0

謝謝!但是寫什麼「名字」?名稱=「時區」是否正確? – Michael

+0

@Andrei在這種情況下無關緊要,將其命名爲'timezone'或'param1'。它是生成的js函數的參數名稱(如下所示:function updateTimeZone(timezone))。 – Andrey

+0

不幸的是它不起作用 – Michael

相關問題