Details
Description
Problem: enter key on h:inputText w/ actionListener causes 2 submits, full form submit (via enter key pressed on h:inputText, from the bridge?), followed by action event submit form the h:inputText.
The issue is that we have assumed that any component that fired an action event on "enter" would also consume the "enter" key event so that it would not bubble up the DOM. This appears to be an incorrect assumption in this case.
- this behavior can cause problems with validators/users as the they are
under the perception that just one submit has occurred, the double submit
will likely leave the application in an unexpected state.
- Workaround in auction is to avoid having an action listener on the input field.
- Ideally the framework would not do the full form submit if the component already had an action listener ready to fire.
The issue is that we have assumed that any component that fired an action event on "enter" would also consume the "enter" key event so that it would not bubble up the DOM. This appears to be an incorrect assumption in this case.
- this behavior can cause problems with validators/users as the they are
under the perception that just one submit has occurred, the double submit
will likely leave the application in an unexpected state.
- Workaround in auction is to avoid having an action listener on the input field.
- Ideally the framework would not do the full form submit if the component already had an action listener ready to fire.
Issue Links
- duplicates
-
ICE-5536 The action method of two components are called when Enter key is pressed
- Closed
Modified ice.s and ice.ss functions to cancel the event bubbling. In case there is an event handler on the event triggering form element the event will not propagate to the parent 'form' element thus avoiding the additional submit.