[PHP-users 23119]Re: HTML_QuickFormControllerのcheckboxの不審な挙動?
cxn03651 @ msj.biglobe.ne.jp
cxn03651 @ msj.biglobe.ne.jp
2004年 8月 27日 (金) 16:58:36 JST
いしげ様
ご教示ありがとうございました。
もともと気づいたのは、他にも色々な部品(text, textarea等)をフォームに
配置してPOSTで呼び出したときに、textにはsetDefaults()で規定値が表示され
るのにcheckboxだけ規定値が反映されない、という現象に出会ったためでした。
先ほどの再現ソースのうち、buildForm()をちょっといじって
function buildForm()
{
$this->_formBuilt = true;
$this->setDefaults( array('test' => true, 'textbox' => 'default string') );
$this->addElement('checkbox', 'test', 'checkbox', 'checked ?');
$this->addElement('text', 'textbox', 'textbox');
}
}
のようにテキストボックスを加えたところ、GET、POST双方ともテキストボック
スにはsetDefaults()が効いています。
その点からすると、
> GET …… post で値を渡されていないので setDefaults() のものを使用
> POST …… post で渡された値を使用(値 "test" は渡されないので null)
> つまりどちらも仕様通りの動作をしていると思われます.
というのはちょっと?という気がするのですが。つまり、checkbox以外の部品に
はPOSTでもsetDefaults()のものを使用しているので。
中村(cxn03651 @ msj.biglobe.ne.jp)
PHP-users メーリングリストの案内