Hmmm....Can you still post a bug in JIRA anyways? This sounds like a
possible bug in one the services. (be as detailed as possible about what you
did to have it happen, if that's possible..)

On 9/27/06, Christian Dutaret <[EMAIL PROTECTED]> wrote:

I was running my application with caching disabled on my dev environment.
If
I enable caching, then guess what... it works as expected (events are sent
only once when A changes). Amazing.
After a closer look, it seems that the updated event registration script
is
sent with a different id (formEventnnnnnnnnn) when caching is disabled,
thus
not cleaning previously registered events.
I'm really happy to have this sorted, since this looked as a show stopper
for a production application. It is still a bit annoying on dev
environments, but I can live with this (until jesse releases a fix ;-)
Thanks for the nice work again anyway

2006/9/27, Christian Dutaret <[EMAIL PROTECTED]>:
>
> Hi all,
>
> I am observing a very strange behavior with EventListener.
>
> On a first example, I have a PropertySelection component that updates an
> Insert component under onchange event using @EventListener annotation.
Works
> fine.
>
> Now I have the same PropertySelection component (A), now updating
another
> PropertySelection (B) object within the same form (instead of the Insert
> component). When A changes, I can see from the dojo console that in
addition
> to the content of B (which is correctly updated), the javascript code
that
> registers the onchange event is also executed again (this didn't happen
on
> the example with the Insert component). As a result, it seems that the
event
> is registered twice: when A changes again, my listener is called twice,
then
> four times on the following change, etc
>
> Does that make any sense to you guys?
>
> extracted from the dojo console when component A changes:
>
> DEBUG: 14:47:20: Response recieved.
> DEBUG: 14:47:20: Received element content for id <formhidden> of: <input
> type="hidden" name="formids" value="a,sb,c,Submit"/> <input
type="hidden"
> name="component" value="form"/> <input type="hidden" name="page"
> value="Home"/> <input type="hidden" name="service" value="direct"/>
<input
> type="hidden" name="submitmode" value=""/> <input type="hidden"
> name="submitname" value=""/>
> DEBUG: 14:47:20: Received element content for id <sb> of: <option
> value="0" selected="selected">Choose...</option> <option
> value="3">B3</option> <option value="4">B4</option>
> DEBUG: 14:47:21: evaluating script: //<![CDATA[ dojo.require("dojo.event
");
> dojo.require("tapestry.*"); //]]>
> DEBUG: 14:47:21: evaluating script: //<![CDATA[ tapestry.cleanConnect(
> dojo.byId("a"), "onchange", "formEvent1723431748");
> tapestry.formEvent1723431748=function(e){ var
> content={beventname:"onchange"}; tapestry.event.buildEventProperties(e,
> content); if (!content["beventtarget.id"]) content["beventtarget.id
"]="a";
> var validateState=tapestry.form.forms["form"].validateForm; var
> validateForm=false; tapestry.form.setFormValidating("form",
validateForm);
> tapestry.form.submitAsync("form", content);
> tapestry.form.setFormValidating("form", validateState); };
> dojo.event.connect(dojo.byId("a"), "onchange", tapestry,
> "formEvent1723431748"); //]]>
>
>
> Thanks for any help
> Ch.
>
>




--
Jesse Kuhnert
Tapestry/Dojo/(and a dash of TestNG), team member/developer

Open source based consulting work centered around
dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com

Reply via email to