I used a little trick to get the radiobuttons to send an event, which
I suppose could be the problem. All you need to do is add this
onclick handler to each radio button, and then the tapestry event
listener will respond.
<div jwcid="stage" id="stageRadioGroup">
<input type="radio" jwcid="@Radio"
value="ognl:@[EMAIL PROTECTED]" onclick="document.getElementById
('stageRadioGroup').clickRadio(this);"/> Pre
...
</div>
@EventListener(events = "clickRadio", elements = "stageRadioGroup",
async = true, submitForm = "addEventForm", validateForm = false)
public void stageSelected(IRequestCycle cycle) {...}
And yes, the problem occurs without the dialog.
Thanks,
J
On 27-Jun-07, at 1:04 PM, Jesse Kuhnert wrote:
> EventListener && Radio Groups don't really get along so well. The
> reason
> being that each radio group button must have the same name
> attribute and
> there is no dom equivalent of a select->options wrapper around
them.
>
> It's possible that ~something~ can be done for this but I'm not
> sure of what
> that something should be yet. I could of course probably use my
> RadioGroup
> widget to provide this functionality but that's adding a specific
> javascript dependency on a regular form control. (
> http://trac.dojotoolkit.org/browser/branches/0.4/src/widget/
> RadioGroup.js)
> I think we'll have to address this more directly with some sort of
> special
> handling between EventListener and component groupings like this
but I
> haven't figure it out yet.
>
> As for your problem right now, what happens if you do the same
> exact things
> without the Dialog being involved? Does it still happen then ?
>
> On 6/26/07, Julian Wood <[EMAIL PROTECTED]> wrote:
>>
>> I have a pretty straight forward paradigm:
>>
>> - two groups of 3 radio buttons followed by a property selection.
>> - an async form with no listener whatsoever
>> - a submit button with an action listener (called saveTime)
>>
>> The idea is that choosing a radio button narrows down the list
in the
>> property selection.
>>
>> I chose to add eventlisteners to the onclicks of the radiobuttons,
>> and update the property selection in response. The eventlisteners
>> submit the above form, which is why there is no listener set in
the
>> form binding. For simplicity, I'll call one eventListener method
>> categorySelected.
>>
>> This form is entirely contained within a Dialog component,
which is
>> reused.
>>
>> Now, this all works perfectly the first time through - open the
>> dialog, fill out the form, watch the property selection values
>> change, submit the form, close the dialog, reset all the
fields. Note
>> that saveTime is not called when you click a radio button - only
>> categorySelected.
>>
>> The second time the dialog is opened, the eventlisteners behave
>> slightly differently. This time, when you click a radio button,
the
>> form is submitted, categorySelected is invoked _and_ saveTime is
>> called (which is a problem). The primary difference between the
two
>> posts (at the request level) is the inclusion of the name of said
>> button, which I believe is how Tapestry determines what
listener to
>> call (ie if &addTimeEventButton=Save%20Time is included, then
>> saveTime is called - correct me if I'm wrong).
>>
>> So I'm wondering why the eventlisteners call saveTime (some of the
>> time), if there is a way to prevent that, or if there is a
better way
>> to approach this problem all together (is an async form with no
>> listener at all okay?). I know there are a bunch of
workarounds, but
>> I'm looking for that clean solution.
>>
>> Thanks,
>>
>> J
>>
>> --
>> Julian Wood <[EMAIL PROTECTED]>
>>
>> Software Engineer
>> Teaching & Learning Centre
>> University of Calgary
>>
>> http://tlc.ucalgary.ca
>>
>>
>>
>>
---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>>
>
>
> --
> Jesse Kuhnert
> Tapestry/Dojo team member/developer
>
> Open source based consulting work centered around
> dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com
--
Julian Wood <[EMAIL PROTECTED]>
Software Engineer
Teaching & Learning Centre
University of Calgary
http://tlc.ucalgary.ca
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]