Как добавить два элемента в один div? - PullRequest
0 голосов
/ 25 марта 2011

У меня есть форма, и я хочу добавить несколько элементов в один 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',));
    }
}

Затем я рендеринг формы, я получаю HTML, как:

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

Ответы [ 2 ]

2 голосов
/ 25 марта 2011

Группы отображения предназначены для группировки элементов формы. Я бы придерживался их. Остерегайтесь дивита.

1 голос
/ 27 марта 2011

для изменения вывода Html я бы попытался использовать несколько пользовательских объектов формы, которые используют другой помощник вида. В ehivh вы можете легко определить, как должен выглядеть вывод, например, размещение и упаковка этикеток и всех других частей элемента.

...