tetsunosukeのnotebook

tetsunosukeのメモです

QuickFormで生成されるHTMLに属性を追加したい(PEAR Hack)

http://q.hatena.ne.jp/1177493078

selectの場合で見ていくとこうなる

  • _getAttrString
    • 連想配列のkeyとvalueで key="value"となる文字列を、スペースで結合
  • toHTML
    • 上記で得られた文字列をselect XXXXXとして生成

したがって、attributeにあたるパラメータに

'class' => 'namefield'

とかそんな具合に指定してあげればよい。

selectの場合だとそれは五番目なので

$form->addElement('select','name', 'label', $data, array('class' => 'namefield'));

みたいな感じで。


主に下記の二箇所

HTML/QuickForm/select.php

    function toHtml()
    {
        if ($this->_flagFrozen) {
            return $this->getFrozenHtml();
        } else {
            $tabs    = $this->_getTabs();
            $strHtml = '';

            if ($this->getComment() != '') {
                $strHtml .= $tabs . '