【发布时间】:2023-04-03 18:25:01
【问题描述】:
我目前有一个表格可以让您创建一个家庭。
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);
创建.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() 方法似乎不起作用。
【问题讨论】:
-
“但我得到一个错误” - 究竟是什么?
-
@A-2-A 是的,在我的复制和粘贴中错过了它-_-
-
@Fred-ii-
Call to a member function setAttribute() on a non-object -
@A-2-A 但有什么办法可以从表格中做到吗?
-
Hm.... 不确定,但您有复数形式的
setAttributes和单数形式的setAttribute。 相关?。或者,它们是 2 个单独的方法吗?
标签: php forms zend-framework default-value