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 回答