C'est une très bonne solution lorsque vous n'avez pas besoin de remplir la valeur de l'élément lorsque le formulaire est soumis. Il est solution équivalente est d'utiliser la méthode des éléments de forme setAttrib()
et désactiver l'élément de formulaire
$formElement->setAttrib('disable','disable')
qui ne geler l'élément.
Mais si vous avez besoin de remplir le champ, en utilisant les solutions précédentes, vous aurez probablement besoin d'ajouter un champ caché supplémentaire, qui passera la valeur. Le développement d'un élément de formulaire personnalisé sera de bon style, mais cela n'est pas bien accueilli par chaque développeur. Vous pouvez donc utiliser une méthode complexe pour définir un élément de formulaire en tant que texte, mais remplir sa valeur. Ainsi, lorsque vous créez l'élément en tant que champ masqué, définissez sa valeur et utilisez la méthode setDescription()
de l'élément de formulaire pour définir et afficher la valeur du texte de l'élément.
$formElement = new Zend_Form_Element_Hidden('elName',
array('label' => 'elLabel', 'value' => 'elValue'));
$formElement->setDescription('elValue');
Ensuite, vous pouvez rendre cet élément caché et afficher la valeur avec le $formElement->getDescription()
.
Cela ne fonctionne pas. – Christian