Zend Form: Como definir o comprimento de um elemento de entrada de texto ou textarea?

Por padrão, os elementos Zend Form Text não têm largura especificada. Textarea elementos têm um padrão derows="24" ecols="80". Mas quando eu defino um valor diferente ...

$body = new Zend_Form_Element_Textarea('body');
$body->setLabel('Body:')
    ->setRequired(true)
    ->setAttrib('COLS', '40')
    ->setAttrib('ROWS', '4');
$this->addElement($body);

... os atributos só são adicionados, não alterados:

<textarea name="body" id="body" COLS="40" ROWS="4" rows="24" cols="80">

Qual é a maneira correta de especificar uma largura e altura de um elemento textarea e a largura da coluna de um elemento de texto?

Solução:

Aparentemente, você não pode especificar atributos de html em letras maiúsculas ou então ele adicionará atributos duplicados.

Para alterar a altura e a largura de um elemento de área de texto:

$textarea = new Zend_Form_Element_Textarea('body');
$textarea
    ->setAttrib('cols', '40')
    ->setAttrib('rows', '4');

Para alterar a largura de um elemento de texto:

$text = new Zend_Form_Element_Text('subject');
$text->setAttrib('size', '40');

questionAnswers(4)

yourAnswerToTheQuestion