Click
  1. Click
  2. CLK-577

The <label for=".."> for a RadioGroup in a Form references an non-existing id.

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 2.1.0 RC1
    • Fix Version/s: 2.2.0
    • Component/s: None
    • Labels:
      None

      Description

      Using the example in the API docs for RadioGroup,

      radioGroup.add(new Radio("STD", "Standard "));
      radioGroup.add(new Radio("PRO", "Protective "));
      radioGroup.add(new Radio("GFT", "Gift Wrap "));
      radioGroup.setValue("STD");
      radioGroup.setVerticalLayout(true);
      form.add(radioGroup);

      a <label for="form_packaging">Packaging</label> is generated, but the radiogroup only creates individual radio buttons with id like form_packaging_STD, form_packaging_PRO and form_packaging_GFT.

      <td class="fields" align="left"><label for="form_packaging">Packaging</label> </td>
      <td align="left">
      <input type="radio" name="packaging" value="STD" id="form_packaging_STD" checked="checked"/><label for="form_packaging_STD">Standard </label><br/>
      <input type="radio" name="packaging" value="PRO" id="form_packaging_PRO"/><label for="form_packaging_PRO">Protective </label><br/>
      <input type="radio" name="packaging" value="GFT" id="form_packaging_GFT"/><label for="form_packaging_GFT">Gift Wrap </label>
      </td>

      I would guess that wrapping the list of Radio controls in a <div id="form_packaging">..</div> would solve the issue.

        Activity

        Hide
        Bob Schellink added a comment -

        Hmm, probably better to remove the 'for' attribute from the first label. Since each radio button has its own label describing it, it should be ok.

        Show
        Bob Schellink added a comment - Hmm, probably better to remove the 'for' attribute from the first label. Since each radio button has its own label describing it, it should be ok.
        Hide
        Bob Schellink added a comment -

        To remove the label we'll need to add a "instanceof RadioGroup" in Form to not render the label. Doesn't look like a good approach. As Finn suggested we need to wrap the radio controls in a container such as a div or a span. I'm leaning towards a span since div is a block level element and might break existing manual layouts.

        Show
        Bob Schellink added a comment - To remove the label we'll need to add a "instanceof RadioGroup" in Form to not render the label. Doesn't look like a good approach. As Finn suggested we need to wrap the radio controls in a container such as a div or a span. I'm leaning towards a span since div is a block level element and might break existing manual layouts.
        Hide
        Bob Schellink added a comment -

        fixed in trunk

        Show
        Bob Schellink added a comment - fixed in trunk

          People

          • Assignee:
            Bob Schellink
            Reporter:
            Finn Bock
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development