0
votes

When i create a form on CakePHP with radio inputs, the label generated not match with the id of the radio input, the label "for" duplicates the name of the form. Here is my code:

echo $this->Form->create(
    'test',
array(
    'action' => 'index',
    'type' => 'post',
    'class' => 'fill-up',
    'inputDefaults' => array('div' => 'input')));

$options = array('option1' => '1',
    'option2' => '2');
$attributes = array('legend' = > false);
echo $this->Form->radio('Type', $options, $attributes);

echo $this->Form->end(
array(
    'label' = > 'end',
    'class' = > 'button',
    'div' = > false));

and the generated HTML is something like:

<input type="hidden" name="data[test][options]" id="testOptions_" value="">
<input type="radio" name="data[test][options]" id="TestOptionsOption1" value="option1">
<label for="testTestOptionsOption1">1</label>
<input type="radio" name="data[test][options]" id="TestOptionsOption2" value="option2">
<label for="testTestOptionsOption2">2</label>

as you can see, cake duplicate the form name "test" on the label. How I can fix this? I try with the exact code of the documentations and still have the same issue

hope you can help me, thx very much

2

2 Answers

1
votes

I auto-answer my question. That was a bug of cakephp, solved on the last version: https://github.com/cakephp/cakephp/releases/tag/2.4.2

0
votes

Try using

'label' => array(
        'class' => 'thingy',
        'text' => 'The User Alias'
    )