我有表单,我想在一个div中添加几个元素。但是我犯了一个错误。有人能帮我吗。这是我的代码:
class Application_Form_Register extends Zend_Form
{
public function init()
{
$this->addElement('text', 'a', array(
'label' => 'aa',
'required' => true,
));
$this->addElement('text', 'b', array(
'label' => 'bb',
'required' => true,
));
$this->addElement('text', 'c', array(
'label' => 'cc',
'required' => true,
));
$this->addElement('text', 'd', array(
'label' => 'dd',
'required' => true,
));
$this->addElement('text', 'e', array(
'label' => 'ee',
'required' => true,
));
$this->getElement('c')->addDecorator('HtmlTag', array('tag' => 'div', 'openOnly' => 'true', 'placement' => Zend_Form_Decorator_Abstract::PREPEND,));
$this->getElement('d')->addDecorator('HtmlTag', array('tag' => 'div', 'closeOnly' => 'true',));
}
}
然后我渲染表格我得到像:
<form enctype="application/x-www-form-urlencoded" action="" method="post">
<dl class="zend_form">
<dt id="a-label"><label for="a" class="required">aa</label></dt>
<dd id="a-element">
<input type="text" name="a" id="a" value="" /></dd>
<dt id="b-label"><label for="b" class="required">bb</label></dt>
<dd id="b-element">
<input type="text" name="b" id="b" value="" /></dd>
<dt id="c-label"><label for="c" class="required">cc</label></dt>
<div>
<input type="text" name="c" id="c" value="" />
<dt id="d-label"><label for="d" class="required">dd</label></dt>
<input type="text" name="d" id="d" value="" />
</div>
<dt id="e-label"><label for="e" class="required">ee</label></dt>
我设置decoratos将DIV设置为包含 C 和 D 元素,但是我附上 D 和 C 输入但不是 C 标签
何以在行前获得DIV:
<dt id="c-label"><label for="c" class="required">cc</label></dt>
答案 0 :(得分:2)
Display groups用于对表单元素进行分组。我会坚持下去。小心分裂。
答案 1 :(得分:1)
要更改您的Html输出,我会尝试使用一些使用不同视图助手的自定义表单元素对象。在ehivh中,您可以轻松定义输出的外观,例如:放置和包装标签以及元素的所有其他子部分。