Applies to Pega Platform™ versions 7.1.5 through 8.3.1
Example 1. Pega Survey interaction returns focus back to the first question and changes its answer
Example 3. Refresh This Section not triggered when radio button label is clicked
Symptom
Application users experience unexpected behavior with radio buttons and check boxes inside of repeating grid layouts.
Application developers have no way to specify unique IDs for user interface controls.
The following subsections describe some example scenarios in which the problem was reported. Each example illustrates the overarching Explanation and Solutions. Additional scenarios are described in the Support Articles cited in the Solutions table.
Example 1. Pega Survey interaction returns focus back to the first question and changes its answer
Application users working with Pega Survey version 7.1 ML2 on Pega Platform version 7.1.5 report that surveys designed with simple questions to be answered by their interactions on a succession of radio buttons always shift user focus back to the first question of the survey and change the original value of the answer. For example, the radio buttons for Questions 1, 2, and 4 of the survey are labeled for Answer values Yes/No or True/False. A survey respondent answers Question 1 as Yes, Question 2 as No, and Question 4 as No. The user interaction focus goes back to Question 1 and changes the Answer value to No. This problem occurs for survey questions having the same type of Answer values.
Resolution
Pega Platform version 7.1.5 SA-9451, Abnormal behavior of radio buttons, Grid Repeat (PegaSurvey) | Pega
Example 2. The first radio button or check box gets the interaction focus instead of the control selected
Application users of Pega Platform version 7.1.5 report that when there are multiple radio buttons or check boxes in the same section of the application with the same labels, clicking any label fires the click event of the first radio button or check box instead of the intended one. Application developers see this problem when they are developing the applications in the Designer Studio.
Steps to Reproduce
- Create a simple text property, specifying pxRadioButton as the UI control.
- Create a Local List with two or more values for the radio button options.
- Create a section that includes the set of radio buttons defined in Steps 1 and 2 as the options.
- Create another section with a repeating grid and include the radio button section in one of the columns.
If you run the section with multiple rows returned and select the radio button labels for the second or third row, the first row is selected.
Root Cause
When a section with radio buttons is included in a repeating grid layout, the radio buttons in the inner section always generate the same ID for the for attribute when there are multiple rows in the grid. The IDs should be unique for each row of the repeating grid, but they are not unique.
Resolution
Best Practice: Update to the latest version of Pega Platform. See Keeping current with Pega.
Apply HFix-9427 for Pega Platform version 7.1.5. Restart the application server for the fix to take effect.
The hotfix corrects the Rule-Utility-File (RUF) pzGenerateRadioGroup by adding a condition check before generating the HTML for the radio buttons. If the radio buttons are inside a grid layout, then a unique ID is generated for the radio button and the for attribute based on the current row index of the grid.
Example 3. Refresh This Section not triggered when radio button label is clicked
Application developers using Pega Platform version 7.1.5 report that sections containing radio buttons specified with onClick or onChange Refresh This Section behavior do not work as expected when the radio buttons are inside of a repeating grid. When they run the flow and click a radio button label, the Refresh This Section is not triggered. It triggers if the radio button is clicked, but not when radio button label is clicked.
Steps to Reproduce
- Create a simple text property using pxRadioButton as the UI Control.
- Create a Local List with two or more values for radio button options.
- Create a section and add the set of radio buttons from Step 2 as options.
- Specify onClick or onChange Refresh This Section behavior for the radio buttons.
- Create another section with a repeating grid and include the section with the radio buttons in one of the columns.
- Run the flow.
- Add multiple rows.
- Click any radio button and see that the section is refreshed.
- Click any radio button label and see that the section is not refreshed.
Root Cause
The data-click attribute is not generated for the label associated with the radio button.
Resolution
- Generate the data-click attribute for the label in the Rule-Utility-File pzGenerateRadioGroup.
- Add the undefined check for tabElem.radValue in pzpega_control_radiogroup.js.
Example 4. Radio buttons and check boxes in repeating grid layout onClick Refresh This Section have incorrect DOM IDs
Radio buttons (and check boxes) in a repeating grid layout are meant to have incremental IDs to support distinct actions for each row of the repeating grid. However, when these UI controls are designed with onClick Refresh This Section, the UI control’s ID does not recognize that the control is inside of a repeating grid layout. The ID of the DOM that is given after the section is refreshed is no longer distinct. This affects how the CSS styles are applied. The application’s screen design uses CSS3 hover and focus styles. However, with the onClick Refresh This Section action of the UI control, the CSS styling is applied to the first element only. In repeating grid layout, the UI control of the field is not distinctly incremental because the UI control has no unique ID but, rather, refers to the Property name.
Resolutions
Pega Platform version 7.1.6 SA-40557, Button in repeat layout on refresh section has incorrect DOM id | Pega
Pega Platform version 7.1.7 SA-11855, Button in repeat layout on refresh section has incorrect DOM ID | Pega
Pega Platform version 7.1.7 SA-12889, Toggling of styles for the elements in the first row only | Pega
Pega Platform version 7.1.8 SA-11095, Button in repeat layout on refresh section has incorrect DOM ID | Pega
Explanation
Currently Pega does not generate unique IDs for user interface elements. For example, when radio buttons and check boxes are placed inside of repeating grid layouts, the browser interprets them to all be part of the same group. Application developers have no way to specify unique IDs on each UI control in their applications. For a UI control in a repeating grid, the unique ID of the UI control would work within an enumerating system for the cells in a repeating grid to add an incremental integer as a suffix, for example, Button-1, Button-2, Button-3, and so on.
Solutions
Best Practice: Update to the latest Pega Platform release. See Keeping current with Pega.
If you cannot update, apply the hotfix that is available for the Pega Platform release that you are using. If no hotfix is available, request a new hotfix.
The following table lists hotfixes for Pega Platform releases in which the unexpected behavior of radio buttons or check boxes in repeating grids was reported.
Hotfix solutions by product and version
Requesting a hotfix
- Go to My Support Portal.
-
In My Support Portal, create a service request
.
See My Support Portal Frequently Asked Questions.