libro
www.tuyano.com
初心者のためのCakePHP3 プログラミング入門

フォームヘルパーを利用する (3/5)

作成:2015-09-05 09:19
更新:2015-09-05 09:19

■主なフォームタグ生成メソッド

textやsubmitのようなフォーム関連のタグを自動生成するメソッドは、この他にもいろいろと良いされています。ここで簡単にまとめておきましょう。なお「名前」とあるのは、name属性に設定するタグの名前です。

・パスワードフィールド
<?=$this->Form->password( 名前 ) ?>
<input type="password">によるパスワード入力フィールドを作成します。

・非表示フィールド
<?=$this->Form->hidden( 名前 ,['value'=> 値 ]) ?>
<input type="hidden">による非表示フィールドを作成します。これはユーザが値の入力などできませんから、第2パラメータにvalueキーの値を持つ連想配列を用意して使うのが基本でしょう。

・テキストエリア
<?=$this->Form->textarea( 名前 ) ?>
<textarea>タグによるテキストエリアを作成します。

・チェックボックス
<?=$this->Form->checkbox( 名前 , ['id'=> 値 ]) ?>
<input type="checkbox">によるチェックボックスを作成します。ただし、これはチェックマークの部分だけですので、テキスト等の表示はありません。これはラベルとして作成する必要があります。

・ラベル
<?=$this->Form->label( タグのID , 表示テキスト ) ?>
<label>によるラベルを作成します。これは、第1引数にはラベルを設定するタグのIDを、第2引数に表示するテキストを指定します。

では、これらの利用例を以下に挙げておきましょう。フォームのGUI部品をひと通り作成し画面に表示します。チェックボックスにはラベルを使ってテキストを表示させてあります。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

<div>
    <h3>Index Page</h3>
    <p><?= $message ?></p>
    <?=$this->Form->create(null,[
        'type' => 'post',
        'url' => ['controller' => 'Helo', 'action' => 'index']]
    ) ?>
    <?=$this->Form->password('pw') ?>
    <?=$this->Form->hidden('hide',['value'=>'hide message']) ?>
    <?=$this->Form->textarea('area') ?>
    <?=$this->Form->checkbox('check',['id'=>'check']) ?>
    <?=$this->Form->label('check','check!!') ?>
    <?=$this->Form->submit('OK') ?>
    <?=$this->Form->end() ?>
    </form>
</div>

※関連コンテンツ

「初心者のためのCakePHP3 プログラミング入門」に戻る