diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/SingleSelectionComponent.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/SingleSelectionComponent.java index 16dc98563b8318b49975cc015ce47383fe13eb4b..ad779a3d3145540b4a995cf03326778a9e12cae0 100644 --- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/SingleSelectionComponent.java +++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/SingleSelectionComponent.java @@ -67,12 +67,10 @@ class SingleSelectionComponent extends FormBaseComponentImpl { private SingleSelection selectionWrapper; private int which; - private String name; - RadioElementComponent(String name, SingleSelection selectionWrapper, int which) { + RadioElementComponent(SingleSelection selectionWrapper, int which) { this.selectionWrapper = selectionWrapper; this.which = which; - this.name = name; } String getGroupingName(){ @@ -88,7 +86,7 @@ class SingleSelectionComponent extends FormBaseComponentImpl { } String getFormDispatchId() { - return name; + return selectionWrapper.getFormDispatchId() + "_R_" + which; } public String getValue() { diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/SingleSelectionImpl.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/SingleSelectionImpl.java index 5b4b1bb7613ac514db4d39f2e290bcdb933c04bc..6db2eb2295e62be73a27bf40f4f79a1780ddeff0 100644 --- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/SingleSelectionImpl.java +++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/SingleSelectionImpl.java @@ -287,8 +287,7 @@ public class SingleSelectionImpl extends FormItemImpl implements SingleSelection } else { RadioElementComponent[] radios = new RadioElementComponent[keys.length]; for (int i = 0; i < keys.length; i++) { - String radioName = getName() + "_" + keys[i]; - radios[i] = new RadioElementComponent(radioName, this, i); + radios[i] = new RadioElementComponent(this, i); } String ssscId = getFormItemId() == null ? null : getFormItemId() + "_RADIO"; SingleSelectionComponent ssc = new SingleSelectionComponent(ssscId, this); diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/SingleSelectionRenderer.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/SingleSelectionRenderer.java index a7a85731cfd44f08df510f7bc3ed6d895f54cb0f..5307b28c7962fa99c3d0cd267275182e0f0e304c 100644 --- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/SingleSelectionRenderer.java +++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/SingleSelectionRenderer.java @@ -82,11 +82,12 @@ class SingleSelectionRenderer extends DefaultComponentRenderer { String key = ssec.getKey(); String value = ssec.getValue(); boolean selected = ssec.isSelected(); + String formDispatchId = ssec.getFormDispatchId(); // read write view sb.append("<label class='radio").append("-inline", inline) - .append("' for='").append(ssec.getFormDispatchId()).append("'>") - .append("<input id='").append(ssec.getFormDispatchId()).append("' ") + .append("' for='").append(formDispatchId).append("'>") + .append("<input id='").append(formDispatchId).append("' ") .append("type='radio' ").append(subStrName) .append(" value='").append(key).append("' ") .append(" checked='checked' ", selected); @@ -102,9 +103,9 @@ class SingleSelectionRenderer extends DefaultComponentRenderer { if(source.isEnabled()){ //add set dirty form only if enabled - sb.append(FormJSHelper.getJSStartWithVarDeclaration(ssec.getFormDispatchId())); - sb.append(FormJSHelper.getSetFlexiFormDirtyForCheckbox(ssec.getRootForm(), ssec.getFormDispatchId())); - sb.append(FormJSHelper.getJSEnd()); + sb.append(FormJSHelper.getJSStartWithVarDeclaration(formDispatchId)) + .append(FormJSHelper.getSetFlexiFormDirtyForCheckbox(ssec.getRootForm(), formDispatchId)) + .append(FormJSHelper.getJSEnd()); } } } \ No newline at end of file