Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 3.0.RC1
-
Component/s: Sample Apps
-
Labels:None
-
Environment:ICEfaces 3, showcase sample app., MyFaces 2.1.3
-
Assignee Priority:P1
Description
Using the showcase sample with MyFaces 2.1.3, several demos that use the h:selectOneRadio component can fail with errors:
ace:menubar:
Effects:
Internet Explorer / Firefox: When changing 'Transition Effect' multiple times the radio button becomes unselected and a validation error is seen.
Haven't seen this myself and couldn't reproduce exactly as described. There were some intermittent client side errors in the console but not on every click:
[window] configuration not found for INPUT
[window] configuration not found for INPUT
[window] Error [status: clientError code: undefined]: undefined
exception ? console.er...ror(formatOutput(category, message));
'cannot find enclosing form' when calling method: [nsIDOMEventListener::handleEvent]
[Break On This Error] originalHandler.handleEvent(event);
----------------------------------------------------------
ace:menu:
Type:
Internet Explorer / Firefox: When changing 'Type of Menu' multiple times the radio button becomes unselected and a validation error is seen.
Haven't seen this myself and couldn't reproduce exactly as described. There were some intermittent client side errors in the console but not on every click:
[window] configuration not found for INPUT
[window] configuration not found for INPUT
[window] Error [status: clientError code: undefined]: undefined
exception ? console.er...ror(formatOutput(category, message));
'cannot find enclosing form' when calling method: [nsIDOMEventListener::handleEvent]
[Break On This Error] originalHandler.handleEvent(event);
----------------------------------------------------
ace:menubar:
Effects:
Internet Explorer / Firefox: When changing 'Transition Effect' multiple times the radio button becomes unselected and a validation error is seen.
Haven't seen this myself and couldn't reproduce exactly as described. There were some intermittent client side errors in the console but not on every click:
[window] configuration not found for INPUT
[window] configuration not found for INPUT
[window] Error [status: clientError code: undefined]: undefined
exception ? console.er...ror(formatOutput(category, message));
'cannot find enclosing form' when calling method: [nsIDOMEventListener::handleEvent]
[Break On This Error] originalHandler.handleEvent(event);
ace:menubar:
Effects:
Internet Explorer / Firefox: When changing 'Transition Effect' multiple times the radio button becomes unselected and a validation error is seen.
Haven't seen this myself and couldn't reproduce exactly as described. There were some intermittent client side errors in the console but not on every click:
[window] configuration not found for INPUT
[window] configuration not found for INPUT
[window] Error [status: clientError code: undefined]: undefined
exception ? console.er...ror(formatOutput(category, message));
'cannot find enclosing form' when calling method: [nsIDOMEventListener::handleEvent]
[Break On This Error] originalHandler.handleEvent(event);
----------------------------------------------------------
ace:menu:
Type:
Internet Explorer / Firefox: When changing 'Type of Menu' multiple times the radio button becomes unselected and a validation error is seen.
Haven't seen this myself and couldn't reproduce exactly as described. There were some intermittent client side errors in the console but not on every click:
[window] configuration not found for INPUT
[window] configuration not found for INPUT
[window] Error [status: clientError code: undefined]: undefined
exception ? console.er...ror(formatOutput(category, message));
'cannot find enclosing form' when calling method: [nsIDOMEventListener::handleEvent]
[Break On This Error] originalHandler.handleEvent(event);
----------------------------------------------------
ace:menubar:
Effects:
Internet Explorer / Firefox: When changing 'Transition Effect' multiple times the radio button becomes unselected and a validation error is seen.
Haven't seen this myself and couldn't reproduce exactly as described. There were some intermittent client side errors in the console but not on every click:
[window] configuration not found for INPUT
[window] configuration not found for INPUT
[window] Error [status: clientError code: undefined]: undefined
exception ? console.er...ror(formatOutput(category, message));
'cannot find enclosing form' when calling method: [nsIDOMEventListener::handleEvent]
[Break On This Error] originalHandler.handleEvent(event);
With some help from Mircea, I've made a change to submit.js where, during singleSubmits, the cloned children of our singleSubmit form are not removed until after the updates have been applied.
Our singleSubmit form is designed to clone the nodes it needs to do the submission and then remove them when it's done. The exceptions we were seeing were generally due to the radio inputs not being able to find the parent form during certain event broadcasts. The reason is that when MyFaces queued the requests and then sent them, the radio buttons had already been removed from the form and where basically orphans.
ICEfaces typically catches and ignores the "cannot find form" errors but once the requests were queued, the processing done to take them off the queue and send them would snag on the exception (ie MyFaces wouldn't ignore it and it would propagate to normal JSF client-side error handling).
The code change allows for the cloned nodes to be removed after the updates have been applied and so don't cause a problem in finding the form. After this change, I'm unable to get the radio buttons to throw the errors when clicking quickly.