Davixe
Davixe

Reputation: 13

cakephp generates wrong label for radio input id

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

Upvotes: 0

Views: 890

Answers (2)

Davixe
Davixe

Reputation: 13

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

Upvotes: 1

bobby.dhillon
bobby.dhillon

Reputation: 319

Try using

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

Upvotes: 0

Related Questions