My bad. I used OnChangeAjaxBehavior instead of AjaxEventBehavior, it
works perfectly now.
I will file a jira issue for the bug though.
AjaxEventBehavior dateOnChange = new AjaxEventBehavior("onchange") {
@Override
protected void onEvent(AjaxRequestTarget target) {
-stephan
Igor Vaynberg wrote:
On Fri, Mar 14, 2008 at 11:00 AM, Stephan Koch
<[EMAIL PROTECTED]> wrote:
So basically I could subclass DatePicker and override
getAdditionalJavascript to inject some Js that triggers the onchange
event in DateTextField when some useful event in DatePicker fires.
thats the idea.
I also found the appendToInit method below, but that method is never
called in DatePicker. Would that be a bug?
yes, please file a jira issue
-igor
--stephan
/**
* Append javascript to the initialization function for the YUI
widget. Can be used by
* subclasses to conveniently extend configuration without having to
write a separate
* contribution.
*
* @param markupId
* The markup id of the calendar component
* @param javascriptId
* the non-name spaced javascript id of the widget
* @param javascriptWidgetId
* the name space id of the widget
* @param b
* the buffer to append the script to
*/
protected void appendToInit(String markupId, String javascriptId,
String javascriptWidgetId,
StringBuffer b)
{
}
/**
* Override this method to further customize the YUI Calendar with
additional Javascript code.
* The code returned by this method is executed right after the
Calendar has been constructed
* and initialized. To refer to the actual Calendar DOM object, use
<code>${calendar}</code>
* in your code.<br/>See <a
href="http://developer.yahoo.com/yui/calendar/">the widget's
* documentation</a> for more information about the YUI
Calendar.<br/> Example:
*
* <pre>
* protected String getAdditionalJavascript()
* {
* return "${calendar}.addRenderer(\"10/3\",
${calendar}.renderCellStyleHighlight1);";
* }
* </pre>
*
* @return a String containing additional Javascript code
*
*/
protected String getAdditionalJavascript()
{
return "";
}
Igor Vaynberg wrote:
> i dont think values changed via js send out onchange events. you will
> probably need to hook into the datepicker javascript and invoke
> onchange explicitly. fortunately yui stuff has a pretty good event
> system that widgets use, so plugging into it should probably not pose
> a huge problem.
>
> -igor
>
>
> On Fri, Mar 14, 2008 at 9:56 AM, Stephan Koch
> <[EMAIL PROTECTED]> wrote:
>
>> Hi all,
>>
>> I'm currently having some trouble with a DateTextField. The
>> DateTextField has a DatePicker component attached to it.
>> Once the user changes the date with the DatePicker, the attached
>> DateTextField is assigned the new date and should trigger the onChange
>> event. Which it doesn't do....
>>
>> Everything works fine if the date is changed by typing directly it into
>> the textfield. Any ideas?
>>
>>
>>
>>
>> DateTextField dtf = DateTextField.forShortStyle("dateField", new
>> PropertyModel(this, "date"));
>>
>> dtf.add(new DatePicker());
>>
>> OnChangeAjaxBehavior dateOnChange = new OnChangeAjaxBehavior() {
>>
>> @Override
>> protected void onUpdate(AjaxRequestTarget target) {
>> log.debug("dateField onChange event triggered.");
>> // do some stuff with the date here...
>> }
>>
>> };
>>
>> dtf.add(dateOnChange);
>> add(dtf);
>>
>>
>> --Stephan
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]