Hi,

Sorry I put some wrong code @_@. The java code should be as below:

ajaxResponseRenderer.addCallback(new JavaScriptCallback() {
@Override
 public void run(JavaScriptSupport javascriptSupport) {
javascriptSupport.addScript('callUpdateZone()");
}
});

You have to  import
org.apache.tapestry5.services.javascript.JavaScriptSupport;

Thanks,
Duy.




On Thu, Aug 7, 2014 at 4:37 PM, squallmat . <squall...@gmail.com> wrote:

> thanks for your answer Chung, I tried it but when i add a row I got this
> error :
>
> No object of type
> org.apache.tapestry5.services.javascript.JavaScriptSupport is available
> from the Environment.
>
>
> 2014-08-07 10:08 GMT+02:00 Chung Khanh Duy <chungkhanhduy1...@gmail.com>:
>
> > Hi,
> >
> > You could not call updating zone in onAddRow or onRemove(). This is my
> way
> > to do that:
> >
> > 1. Declare one action link in tml file:
> >
> > <t:actionlink t:id="updateZoneLink"
> > t:clientId="updateZoneLink"
> > t:zone="zoneTitle"
> >  style="display:none"/>
> > 2. in Java code, we callback a javascript function
> >
> > onRemoveRow....() {
> > ....
> >  javascriptSupport.addScript("callUpdateZone()");
> >
> > }
> >
> > Object onActionFromUpdateZoneLink() {
> >  // update your zone
> > return request.isXHR() ? zoneTitle.getBody() : null;
> > }
> >
> > 3. In your js file, you have to define callUPdateZone() method:
> >
> > this.callUpdateZone = function() {
> > // send ajax to update zone
> > var $link = $("a[clientid*='updateZoneLink']");
> >  var href = $link.attr('href');
> > if (href.indexOf('?') != -1) {
> > href = href.substr(0, href.indexOf('?'));
> >  }
> > Tapestry.findZoneManager($link[0]).updateFromURL(href);
> > }
> >
> > Hopefully it can help. Notice I used javascript Jquery. You can use
> > prototype to find your DOM element.
> >
> > Thanks,
> > Duy.
> >
>



-- 
Chung Khánh Duy
Project Support Manager
Formos

Reply via email to