Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Won't Fix
-
Affects Version/s: 3.0.RC2
-
Fix Version/s: 3.0.1, EE-3.0.0.GA
-
Component/s: ACE-Components
-
Labels:None
-
Environment:HideICEfaces3 Trunk Revision# 27195
Browser: IE7/8 (Ok on IE9, Firefox3.6, Chrome15)
Test app located at: http://server.ice:8888/svn/repo/qa/trunk/Regression-Icefaces2/Sparkle/Nightly/maskedEntryShowICEfaces3 Trunk Revision# 27195 Browser: IE7/8 (Ok on IE9, Firefox3.6, Chrome15) Test app located at: http://server.ice:8888/svn/repo/qa/trunk/Regression-Icefaces2/Sparkle/Nightly/maskedEntry
Description
The ajaxListener is being called twice, and the values on the page are being incremented twice as well. The expected / actual results are below:
Expected message = "AjaxBehaviorEvent received! (#1)", Actual message = AjaxBehaviorEvent received! (#2)
Expected value A = 1, Actual value = 2
Expected value B = 1, Actual value = 2
To reproduce:
1. Build / deploy test application from location above
2. Navigate to MaskedEntry Ajax test
3. Use the app to test each of these scenarios that are producing the wrong results:
"valueChange" Event Test
Default Event Test
"valueChange" Event Test w/ ValueChangeListener attribute
Expected message = "AjaxBehaviorEvent received! (#1)", Actual message = AjaxBehaviorEvent received! (#2)
Expected value A = 1, Actual value = 2
Expected value B = 1, Actual value = 2
To reproduce:
1. Build / deploy test application from location above
2. Navigate to MaskedEntry Ajax test
3. Use the app to test each of these scenarios that are producing the wrong results:
"valueChange" Event Test
Default Event Test
"valueChange" Event Test w/ ValueChangeListener attribute
Traced code. "valueChange" is being bound as "change" event in jQuery. No double binding of listener.
Known issue. See, for example, http://stackoverflow.com/questions/7008527/jquery-onchange-event-fires-twice-in-ie8.
Some suggestions. None of them look simple, generic and cross-browser safe. Further, Grimlock wrapper JS looks very trivial. All the complicated stuff is in the third-party masked input plugin. Need deeper understanding of plugin first.