« Return to Thread: Problem refreshing Calendar component using fireAjaxTransation

Re: Problem refreshing Calendar component using fireAjaxTransation

by Rasha :: Rate this Message:

Reply to Author | View in Thread

Hello Venkatesh,

"
When are you trying to fire an ajax rransaction? what data are you
returning back in your ajax response?"


Well here is my initial requirement:
I have a field called ID where the user inserts the ID of the object he is trying to retrieve.
When the user leaves the textfield (onChange) I want to submit the value of the ID asynchroneously to the server. AFTER the ID being submitted and the object being fetched on the server side, I want to asynchroneously update MULTIPLE components on the page at the SAME time.

The thing is, the current implementations on submit and refresh do not allow me to achieve this behavior.
In fact, myNode.submit(field1, field2) will submit field1 and field2 while submitting myNode; and myNode.refresh('field1 , field12') will submit field1 and field2 while refreshing myNode.
There does not seem to be a way to refresh field1 and field2while submitting myNode.

Moreover if I do: myNode.submit(); field1.refresh(); field2.refresh() : this does not garantee that field1 and field2 will wait till myNode has been submitted before attempting a refresh ...

This is why I dropped using refresh and submit provided by woodstock components and opted for fireAjaxTransaction wich allow me to specify which components to submit and which ones to refresh in a single call.


"Also, are you giving the id of the calendarfield widget or the calendar
widget?"

No I am actually sending the id of the whole calendar.

Thanks a lot!
Rasha

Venkatesh Babu-5 wrote:
Hi Rasha,

When are you trying to fire an ajax rransaction? what data are you
returning back in your ajax response?
Also, are you giving the id of the calendarfield widget or the calendar
widget?

The code you are referring to :

webui.@THEME@.widget.calendarField.prototype.dayClicked = function(props) {
    // Check whether the calendar associated with this particular
calendarField
    // broadcasted the event.
    if (props.date != null && props.id == this.calendar.id) {
        // Set the selected date on the field.
        this.domNode.setProps({value: props.date});
    }
    return false;
}

this.domNode refers to the calendarField widget's dom element.

Try appending the "?debug" parameter to your url
This will help you get a more meaningful error.

You can also try using  firebug to get more information.

-venky
Rasha wrote:
> Below is a code snippet on how I am trying to update my components
> asynchroneously using fireAjaxTransaction:
>
>
> DynaFaces.fireAjaxTransaction(this, { execute: 'IdOfComponentToSubmit',
> render:'IdOfComponentToRender'});
>
> When IdOfComponentToRender is that of a textfield, table, button etc...
> there is no problem and everything works correctly .
> But When IfOfComponentToRender is that of a calendar, although the refresh
> takes place correctly, whenever I attempt to pick another day from the
> calendar, I get a javascript error saying: this.domNode is null.
> I followed the javascript code for the calendar component, and this could be
> taking place in the calendarField.js file at:
> webui.suntheme.widget.calendarField.dayClicked=function(_1){
> if(_1.date!=null&&_1.id==this.calendar.id){
> this.domNode.setProps({value:_1.date});
> }
>
> Is there something I'm doing wrong, or is this a bug in the Calendar
> component?
> Thanks.
> Rasha
>  

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@woodstock.dev.java.net
For additional commands, e-mail: users-help@woodstock.dev.java.net

 « Return to Thread: Problem refreshing Calendar component using fireAjaxTransation