在PHP Zend表单上设置值

时间:2016-02-04 18:54:11

标签: php forms zend-framework default-value

我目前有一个表格可以让你创建一个家庭。

FamilyForm.php

$description = new Textarea(self::KEY_FAMILY_DESCRIPTION);
$description->setAttribute("id", self::KEY_FAMILY_DESCRIPTION);
$description->setLabel("Description");
$this->add($description);    

$status = new Hidden(self::KEY_FAMILY_STATUS);
$status->setAttribute("id", self::KEY_FAMILY_STATUS); 
$this->add($status); 

$save = new Button(self::KEY_SAVE_BTN);
$save->setAttributes(array("id", self::KEY_SAVE_BTN));
$save->setLabel("Save");
$save->setValue("Save");
$this->add($save);

Create.phtml

<?php echo ctrlGroup($this, ProjectFamilyForm::KEY_FAMILY_DESCRIPTION, !($this->admin)); ?>
<?php echo ctrlGroup($this, ProjectFamilyForm::KEY_FAMILY_STATUS, !($this->admin)); ?>
<div class="form-actions">
      <?php $save = $this->form->get(ProjectFamilyForm::KEY_SAVE_BTN); ?>
      <?php $save->setAttribute("class", "btn btn-primary"); ?>
      <?php echo $this->formSubmit($save); ?>

      <a class="btn" href="<?php echo $this->url('home'); ?>">Cancel</a>
</div>

这有效,并允许我在创建时输入描述和家庭状态。但是,每次创建系列时,status应为"active"。但是,setValue()方法似乎不起作用。

1 个答案:

答案 0 :(得分:1)

我不是ZEND的专家,但要做到这一点有一些方法: -

  1. 最可取的方式: - 让您的数据库表字段为set,并将默认值设置为active

  2. 创建一个具有预定义active值的隐藏字段。

  3. 请查看此链接以获取帮助: - http://forums.zend.com/viewtopic.php?t=2079