我正在使用Zend表單應用程序,其中表單包含帶有水印的文本框。zend文本元素中的佔位符文本
我們可以通過下面的代碼在HTML中實現這一點:
<input type="text" placeholder="Search" name="q" />
我的問題是如何在我的輸入框使用Zend表單中添加佔位符屬性?
我正在使用Zend表單應用程序,其中表單包含帶有水印的文本框。zend文本元素中的佔位符文本
我們可以通過下面的代碼在HTML中實現這一點:
<input type="text" placeholder="Search" name="q" />
我的問題是如何在我的輸入框使用Zend表單中添加佔位符屬性?
它已經被提到使用:
$element->setAttrib('placeholder', 'Search');
你也可以像這樣在擴展Z時使用它END_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');
Thanx回答 –
在Zend_Form_Element的對象,您可以指定屬性:
$element->setAttrib('placeholder', 'Search');
這裏查看裏面是爲ZF2更新。
你必須在你的Zend \表格\形式來使用:
$this->add(
[
'name' => 'q',
'type' => 'Text',
'options' => [
'label' => 'Search',
],
'attributes' => [
'placeholder' => 'Search',
],
]
);
setAttrib
不存在,但setAttribute
作用:
$element->setAttribute('placeholder', 'Search');
但FormText
視圖助手,你可以再增加選項了,所以你要做的:
$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);
我知道,這是一個醜陋的黑客!
感謝分享@stopi –
Thanx回答 –
+1顯示一系列替代調用。 ;-) –