Matthew,
you pointed it, i was effectively using populate() which reseted the
values ! It works now.
Thank you.
Denis.
Matthew Weier O'Phinney a écrit :
-- Denis Fohl <d.f...@df-info.com> wrote
(on Wednesday, 15 July 2009, 01:08 PM +0200):
i'm fighting with Zend_Form_Element factory and can't fix the following
problem (ZF 1.8.4 patch 1):
$fields = array(
'id_ue' => array(
'type' => 'text',
'name' => 'id_ue',
'options' => array('label' => 'code UE',
'size' => 6,
'required' => true,
'value' => 'test')),
'id_session' => array(
'type' => 'hidden',
'name' => 'id_session',
'options' => array('value' => 'test'))
);
$form = new Zend_Form();
$form->addElements($fields);
When rendering the form, all seems right but values are not set in input
tags :
<input type="text" size="6" value="" id="id_ue" name="id_ue"/>
<input type="hidden" id="id_session" value="" name="id_session"/>
I have tried a lot of things (setting value outside of 'options', using
'attrib' in options but don't the syntax...).
I did not find any examples of this use case.
Odd -- I took your above code, and added the following two lines:
$form->setView(new Zend_View);
echo $form;
And got the expected output:
<form enctype="application/x-www-form-urlencoded" action="" method="post"><dl
class="zend_form">
<dt id="id_ue-label"><label for="id_ue" class="required">code
UE</label></dt>
<dd id="id_ue-element">
<input type="text" name="id_ue" id="id_ue" value="test" size="6"></dd>
<dt id="id_session-label"> </dt>
<dd id="id_session-element">
<input type="hidden" name="id_session" value="test"
id="id_session"></dd></dl></form>
Note that the values are appropriately set.
What version of ZF are you using? Do you call setDefaults() or
populate() at any point?