1

コマンド ラインを使用して、BookSlot という名前の新しいフォームをセットアップしました。

zf create form BookSlot

ほとんどの人が知っているかもしれませんが、Zend フレームワークのアプリケーション ディレクトリにフォーム ディレクトリを作成します。

フォームの init メソッドで、time というテキスト要素を追加し、「time」というラベルを付けました。

$time = new Zend_Form_Element_Text('time');
$this->addElement($time);
$time->setLabel('Time');

ユーザーが変更できないデフォルト値が必要なので、次を追加します。

$time->setValue($value);

コントローラーで、上記のブック スロット フォームを取得する関数を作成します。

public function getBookSlotForm(){
        return new Application_Form_BookSlot();
    }

また、インデックス コントローラーにブック スロット アクションがあります。

フォームを変数に割り当て、ブック スロット アクションでビューに渡せるようにします。

$form = $this->getBookSlotForm();
    $this->view->form = $form;

同じブック スロット アクションで、動的に生成される id 変数がありますが、ここでは 5 を想定しています。

$id = 5;

上記のブック スロット フォームで の$id値をデフォルト値にするにはどうすればよいですか? $timeまた、ユーザーがこの値を変更できないようにしたい。

4

1 に答える 1

6

ユーザーが値を変更できない場合は、readOnly 属性を使用します。あなたのフォームクラスで

$time->setAttrib('readonly', 'readonly');

ID を時間フィールドのデフォルト値として割り当てるには、アクションで

$form->time->setValue($id);
于 2012-05-03T14:40:55.640 に答える