Posts tagged checkbox

Mac でフォーム入力時に Tab キーでチェックボックスなどにもフォーカスさせる

1

Mac にスイッチしてから不便だったことがあります。ブラウザでフォーム入力しているときに Tabキーを押すとチェックボックスやラジオボタンなどにフォーカスがいかないことです。Windows の時は Tab でフォーカスをチェックボックスに当ててスペースで選択したり、ラジオボタンを矢印キーで選択したりとキーボードですませていたので非常に不便でした。
(続きを読む…)

CakePHP HTML ヘルパーで textarea を出力する

1

CakePHP の HTML ヘルパーでテキストエリアを出力するには下記のように書きます。

<?php echo $html->textarea("Model/field", array("cols"=>20, "rows"=>5, "value"=>"hoge")); ?>checkbox や radio などと違って第2引数に HTML 属性値がくることに注意が必要です。

array("value"=>"hoge") などと書くことにより初期値を入れることができます。

CakePHP HTMLヘルパーで checkbox を表示する

1

HTMLヘルパーで checkbox を表示するには下記のように書きます。
<?php echo $html->checkbox('Model/field', null, array('value'=>1)); ?>
出力される HTML は下記のようになります。
(実際は1行で出力されますが改行入れています)

<input type="hidden" name="data[Model][field]"  value="0" id="ModelField_" /
<input type="checkbox" name="data[Model][field]" value="1" id="ModelField"  />

checkbox と同じ名前の hidden を勝手に作ってくれるのでチェックされていなくても必ず $this->data["Model"]["field"] には値が帰ってくるのでうれしいかも。

ちなみに第2引数は checkbox では使用されていませんでした。
他のメソッドと統一するためにあるのでしょう。

第3引数に

array('checked'=>1) or
array('checked'=>true) or
array('checked'=>'checked')

などとするとデフォルトでチェックが入ります。

ちなみに HTML_QuickForm のように勝手に label タグで囲んではくれないので、チェックボックスの後ろに書かれた項目名などをクリックしてもチェックされるようにしたければ自分で label タグを書く必要があります。checkbox の ID は ModelField のようになるので、
<label for="ModelField"><?php echo $html->checkbox('Model/field', null, array('value'=>1)); ?>項目名</label>

とすれば「項目名」のテキストをクリックしてもチェックすることができるようになります。

Go to Top