текст заполнителя в текстовом элементе zend

Я работаю над приложением формы Zend, где моя форма содержит текстовые поля с водяными знаками.

мы можем добиться этого в HTML следующим кодом:

<input type="text" placeholder="Search" name="q" /> 

Мой вопрос заключается в том, как добавить атрибут placeholder в поле ввода с помощью формы Zend?

Solutions Collecting From Web of "текст заполнителя в текстовом элементе zend"

Уже упоминалось:

 $element->setAttrib('placeholder', 'Search'); 

Вы также можете использовать его при расширении Zend_Form

 $element = $this->createElement('text', 'q', array( 'placeholder' => 'Search', 'label' => 'Search' )); 

Или внутри представления с помощью Zend_View_Helper_FormText

 echo $this->formText('q',null, array('placeholder' => 'Search')); 

Я думаю, вы можете вызвать settAttrib () для своего элемента, как это, когда вы определяете элементы

  $element->setAttrib ( 'placeholder', 'search' ); 

В объектах Zend_Form_Element вы можете указать атрибуты:

 $element->setAttrib('placeholder', 'Search'); 

Вот обновление для ZF2.
Вы должны будете использовать это в своей Zend \ Form \ Form:

 $this->add( [ 'name' => 'q', 'type' => 'Text', 'options' => [ 'label' => 'Search', ], 'attributes' => [ 'placeholder' => 'Search', ], ] ); 

setAttrib не существует, но setAttribute делает:

 $element->setAttribute('placeholder', 'Search'); 

Но в FormText view-helper вы больше не можете добавлять параметры, поэтому вам нужно сделать следующее:

 $element = $form->get('q'); $saved_placeholder = $element->getAttribute('placeholder'); // works even if not defined $element->setAttribute('placeholder', 'Search'); echo $this->formText($element); $element->setAttribute('placeholder', $saved_placeholder); 

Я знаю, это уродливый взлом!