HTML_QuickForm (Previous) (Next) コンストラクタ HTML_QuickForm_advcheckbox()

View this page in Last updated: Sun, 05 Oct 2008
English | Dutch | French | German | Hungarian | Japanese | Polish | Russian | Spanish | Plain HTML

HTML_QuickForm_advcheckbox クラス概要

HTML_QuickForm_advcheckbox クラス概要 -- アドバンスドチェックボックス型のフィールドのための HTML クラス

説明

アドバンスドチェックボックス型のフィールドのための HTML クラスです。 基本的に、これは「チェックボックスではひとつの値 (チェックされているチェックボックスの値) しか渡せない」 という HTML の問題点を解決するものです。 チェックボックスがチェックされていない場合にはその値を渡すことができません。 そのため、未チェック状態で送信すると、そのチェックボックスの値が 存在しないことになってしまいます。

ここでは、まず指定された名前の hidden フィールドおよび名前のないチェックボックスを作成します。 そしてチェックボックスの onclick で、javascript によって hidden フィールドの値を設定します。

HTML_QuickForm_advcheckbox のクラス階層

HTML_QuickForm_advcheckbox が継承しているメソッド

表 47-1HTML_QuickForm_checkbox から継承したもの

メソッド名概要
コンストラクタ HTML_QuickForm_checkbox::HTML_QuickForm_checkbox()クラスのコンストラクタ
HTML_QuickForm_checkbox::exportValue()チェックボックスがチェックされている場合に true、チェックされていない場合に null を返す (getValue() は false を返す)
HTML_QuickForm_checkbox::getChecked()チェックボックスがチェックされているかどうかを返す
HTML_QuickForm_checkbox::getFrozenHtml()HTML タグを含めずにフィールドの値を返す
HTML_QuickForm_checkbox::getText()チェックボックスのテキストを返す
HTML_QuickForm_checkbox::getValue()フォーム要素の値を返す
HTML_QuickForm_checkbox::onQuickFormEvent()この要素上でイベントが発生した場合に HTML_QuickForm からコールされる
HTML_QuickForm_checkbox::setChecked()チェックボックスがチェックされているかどうかを設定する
HTML_QuickForm_checkbox::setText()チェックボックスのテキストを設定する
HTML_QuickForm_checkbox::setValue()フォーム要素の値を設定する

表 47-2HTML_QuickForm_input から継承したもの

メソッド名概要
コンストラクタ HTML_QuickForm_input::HTML_QuickForm_input()クラスのコンストラクタ
HTML_QuickForm_input::exportValue()ボタン要素 (submit を除く) やファイル要素の値を取得する必要はない
HTML_QuickForm_input::getName()要素名を返す
HTML_QuickForm_input::getValue()フォーム要素の値を返す
HTML_QuickForm_input::onQuickFormEvent()この要素上でイベントが発生した場合に HTML_QuickForm からコールされる
HTML_QuickForm_input::setName()入力フィールドの名前を設定する
HTML_QuickForm_input::setType()要素の型を設定する
HTML_QuickForm_input::setValue()フォーム要素の値を設定する

表 47-3HTML_QuickForm_element から継承したもの

メソッド名概要
コンストラクタ HTML_QuickForm_element::HTML_QuickForm_element()クラスのコンストラクタ
HTML_QuickForm_element::accept()レンダラを受け入れる
HTML_QuickForm_element::apiVersion()現在の API のバージョンを返す
HTML_QuickForm_element::exportValue()'安全な' 要素の値を返す
HTML_QuickForm_element::freeze()要素を凍結し、その値のみを返す
HTML_QuickForm_element::getFrozenHtml()HTML タグを含めずにフィールドの値を返す
HTML_QuickForm_element::getLabel()要素の表示テキストを返す
HTML_QuickForm_element::getName()要素名を返す
HTML_QuickForm_element::getType()要素の型を返す
HTML_QuickForm_element::getValue()フォーム要素の値を返す
HTML_QuickForm_element::isFrozen()要素が凍結されているかどうかを返す
HTML_QuickForm_element::onQuickFormEvent()この要素上でイベントが発生した場合に HTML_QuickForm からコールされる
HTML_QuickForm_element::setLabel()要素の表示テキストを設定する
HTML_QuickForm_element::setName()入力フィールドの名前を設定する
HTML_QuickForm_element::setPersistantFreeze()要素の値を、それが凍結されているかどうかにかかわらず hidden フィールドに保持し続けるかどうかを設定する
HTML_QuickForm_element::setValue()フォーム要素の値を設定する
HTML_QuickForm_element::unfreeze()フォーム要素の凍結を解除する

HTML_QuickForm (Previous) (Next) コンストラクタ HTML_QuickForm_advcheckbox()

Download Documentation Last updated: Sun, 05 Oct 2008
Do you think that something on this page is wrong? Please file a bug report or add a note.
User Notes:
Note by: wiesemann
Frank, the statement is correct, but only in the context of the sentence before the quoted sentence. The paragraph tells you what the problem of the normal checkbox element is.
Note by: frank@bax.on.ca
"A value for when the checkbox is not checked cannot be passed, and furthermore the checkbox variable doesn't even exist if the checkbox was submitted unchecked."

This statement is incorrect. The following code...

$work[] = &HTML_QuickForm::createElement('advcheckbox', 'Guelph', null, 'Guelph', null, 'Guelph');
$work[] = &HTML_QuickForm::createElement('advcheckbox', 'Fergus', null, 'Fergus', null, 'Fergus');
$form->addGroup($work, 'Workplace', 'In which area do you wish to work<br>(select all that apply)?', '<br>');

Then check 'Guelph', but not Fergus and we get:

["Workplace"]=> array(2) { ["Guelph"]=> string(6) "Guelph" ["Fergus"]=> string(0) "" }