Tech Racho エンジニアの「?」を「!」に。
  • 開発

CakePHP hiddenでclassを設定できない

Formヘルパーを使う際、inputタグなどなら、

$form->input('User.name', array('class' => 'test'));

のようにclassを指定できますが、

hiddenタグの場合、class指定は無視されます。

$form->input('User.id', array('type' => 'hidden', 'class' => 'test'));

これは、formヘルパーが以下のように意図的に無視している為で、仕様のようです。

function hidden($fieldName, $options = array()) {
        //(略)
    return sprintf(
        $this->Html->tags['hidden'],
        $options['name'],
        $this->_parseAttributes($options, array('name', 'class'), '', ' ')
    );
}

JavaScriptから制御する際など、hiddenにもclassを付けたいことは多々ありますが、考慮されていないようですね。

直接タイプしても面倒じゃないので、まあそれほど困らないのですが。

<input type="hidden" name="data[User][id]" class="test" />

CONTACT

TechRachoでは、パートナーシップをご検討いただける方からの
ご連絡をお待ちしております。ぜひお気軽にご意見・ご相談ください。