2013-05-11 62 views
1

我想从a4j:jsFunction获取返回值。但我不知道如何完成这件事。a4j返回值:jsFunction

这里的JSF代码:

<h:form> 
    <a4j:jsFunction name="createEvent" data="#{calendarController.eventId}" action="#{calendarController.createEvent()}"> 
     <a4j:param name="eventTitle" 
      assignTo="#{calendarController.eventTitle}" /> 
    </a4j:jsFunction> 
</h:form> 

而且我所说的A4J:jsFunction这样的:

var id = createEvent(event.title); 

豆方法calendarController.createEvent()返回一个整数值。属性eventId保存该值。我怎样才能将这个值传递回页面上的JavaScript代码?

回答

2

由于ajax调用是异步的,所以无法直接从'createEvent'方法获取值。

<h:form> 
    <a4j:jsFunction name="createEvent" data="#{calendarController.eventId}" action="#{calendarController.createEvent()}" oncomplete="alert(data)"> 
     <a4j:param name="eventTitle" 
      assignTo="#{calendarController.eventTitle}" /> 
    </a4j:jsFunction> 
</h:form> 

了类似的问题,请参见here:如果您使用“的onComplete”属性,例如像这样但是,您可以得到它。