繁体   English   中英

通过控制器的引用设置Zend_Form中元素的默认值

[英]Set default value of an element in Zend_Form by reference from the controller

通过命令行,我建立了一个名为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的默认值? 另外,我要使它不能使用户更改此值。

对于不能更改该值的用户,请使用readOnly属性。 在您的班级上

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

要在操作中将ID分配为时间字段的默认值

$form->time->setValue($id);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM