Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Eu fiz um código que gerou o seguinte form:
<form id="formCadastroPessoa" enctype="application/x-www-form-urlencoded" action="/cadastro/pessoa" method="post">
<dl class="zend_form">
<dt id="groups-label"> </dt>
<dd id="groups-element"><fieldset id="fieldset-groups"><legend>Dados Pessoais</legend>
<dl>
<dt id="formNome-label"><label for="formNome" class="required">Nome</label></dt>
<dd id="formNome-element"><input type="text" name="nome" id="formNome" value=""></dd>
<dt id="formSobrenome-label"><label for="formSobrenome" class="required">Sobrenome</label></dt>
<dd id="formSobrenome-element"><input type="text" name="sobrenome" id="formSobrenome" value=""></dd>
<dt id="formTelefone-label"><label for="formTelefone" class="required">Telefone</label></dt>
<dd id="formTelefone-element"><input type="text" name="telefone" id="formTelefone" value=""></dd>
<dt id="formCelular-label"><label for="formCelular" class="required">Celular</label></dt>
<dd id="formCelular-element"><input type="text" name="celular" id="formCelular" value=""></dd>
</dl>
</fieldset></dd>
</dl></form>
Queria adicionar uma div para flutuar os elementos, veja um exemplo:
**<div class="esquerdo">**
<dt id="formNome-label"><label for="formNome" class="required">Nome</label></dt>
<dd id="formNome-element"><input type="text" name="nome" id="formNome" value=""></dd>
<dt id="formSobrenome-label"><label for="formSobrenome" class="required">Sobrenome</label></dt>
<dd id="formSobrenome-element"><input type="text" name="sobrenome" id="formSobrenome" value=""></dd>
**</div>**
**<div class="esquerdo">**
<dt id="formTelefone-label"><label for="formTelefone" class="required">Telefone</label></dt>
<dd id="formTelefone-element"><input type="text" name="telefone" id="formTelefone" value=""></dd>
<dt id="formCelular-label"><label for="formCelular" class="required">Celular</label></dt>
<dd id="formCelular-element"><input type="text" name="celular" id="formCelular" value=""></dd>
**</div>**
Já tentei alguns estudos aqui e nada, alguém pode ajudar?
Abs
>
Olha, neste caso acho que o melhor a ser fazer é utilizar um displayGroup, que vai incluir fieldsets. Aí você faz a formatação que você quer (CSS) nos fieldsets.
Carlos Eduardo
É possível inserir um fieldset dentro de outro? Tentei antes e não consegui, a noite vou fazer um novo teste.
abs
Resolvido, vou postar a solução;
$nome = new Zend_Form_Element_Text('nome');
$nome->setLabel('Nome');
$sobrenome = new Zend_Form_Element_Text('sobrenome');
$sobrenome->setLabel('Sobrenome');
$endereco = new Zend_Form_Element_Text('endereco');
$endereco->setLabel('Endereco');
$telefone = new Zend_Form_Element_Text('telefone');
$telefone->setLabel('Telefone');
$this->addDisplayGroup(array($nome, $sobrenome, $endereco, $telefone), 'groups', array("legend" => "Dados Pessoais"));
/* DECORADORES */
$this->addDecorator('FormElements')
->addDecorator('HtmlTag', array('tag' => 'ul'))
->addDecorator('Form');
$this->setElementDecorators(array(
'ViewHelper',
'Label',
new Zend_Form_Decorator_HtmlTag(array('tag' => 'li'))
));
$this->setDisplayGroupDecorators(array(
'FormElements',
'Fieldset',
'FormErrors',
new Zend_Form_Decorator_HtmlTag(array('tag' => 'div')),
));
Css bem básico que fiz como teste:
*{list-style:none; margin:0; padding:0 }
body { padding:50px }
label { display:block; float:left; width:100px; background:#CCCCCC }
ul { background:#FF9900; width:800px }
ul li { width:350px; background:#000000; float:left }
fieldset { padding:10px }
abs
Olha, neste caso acho que o melhor a ser fazer é utilizar um displayGroup, que vai incluir fieldsets. Aí você faz a formatação que você quer (CSS) nos fieldsets.
Carlos Eduardo