I don't know the page you edited to get this, as I don't know the
TimeTracker app, but there has always been a problem with components
that are in loops, since the id in the html file will not match the id
of the html element, since it may have '_x' (where x is an integer)
appended to it.  Other components just don't use the tapestry id as
the id for the corresponding html element.  In the case of a loop or
table, it is usually easiest (necessary?) to put the entire list or
table inside a div and then update that div.  In the case of a
component that just doesn't match the html id to the component id, a
div works very nicely and isn't really any more expensive.

<div jwcid="[EMAIL PROTECTED]" id="descriptionFieldWrapper">
   <span jwcid="descriptionField" .../>
</div>

or

<div jwcid="[EMAIL PROTECTED]" id="descriptionFieldWrapper">
   <span jwcid="@contrib:Table" .../>
       ....
   </span>
</div>

getBuilder().updateComponent("descriptionFieldWrapper") will then
cause the wrapper and the contents to be rerendered.

--sam

On 12/2/06, sun quanzhi <[EMAIL PROTECTED]> wrote:
hi
My english is not well,so i write simplely,hope you can understand.
I edit the TimeTracker example.
I change the updateComponent content (For example set descriptionField),but
not have effect.
If I not change ,it work good.
Can you tell me ,what's the proplem? Thanks.
Error Info:
DEBUG: 18:31:29: Response recieved.
DEBUG: 18:31:29: Received element content for id <taskFormhidden> of:
DEBUG: 18:31:29: Received element content for id <descriptionField> of:
ERROR: 18:31:29: Error received in IO response.  :
XMLHttpTransport.watchInFlight Error: [object Error]
DEBUG:  XMLHttpTransport error callback failed: [object Object]

I  changed source:
@EventListener(targets = "projectChoose", events = "onValueChanged",
submitForm = "taskForm",async=true)
    public void projectSelected()
    {
        _log.info("projectSelected");

System.out.println(getSelectedProject().getName()+":"+getSelectedProject().getId());

        this.setDescription("sss");
         _log.info("projectSelected     1");
        getBuilder().updateComponent("descriptionField");
        _log.info(" out projectSelected");
    }

_________________________________________________________________
与联机的朋友进行交流,请使用 Live Messenger;
http://get.live.com/messenger/overview


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Reply via email to