2011-07-01 89 views
1

我有一个元件在Zend的形式如何显示在zend框架中隐藏带标签的文本框?

$item1 = $this->createElement('text','item1'); 
$item1->setLabel('Enter item 1:') 
     ->setRequired(true) 
     ->setAttrib('class','hide_textbox'); 

这里hide_textbox处于CSS文件,这使得显示没有的类。 它隐藏的文本框,但没有标签,我想和标签隐藏文本框,(我不希望使用removeDecorator('label')) 后来我想将此标签和文本框使用javascript

+0

设置标签为空:'$ item1-> setLabel('')' – NAVEED

+0

它在php中我想用css或javascript隐藏标签 – user822421

+0

好吧,您应该在您的问题中添加'javascript'和'css'标签。 – NAVEED

回答

0

类添加到包装材料之一装饰。

这个的细节完全取决于你的装饰方案。使用标准装饰器也不是那么容易,因为标签和元素位于不同的包装中(分别为<dt><dd>)。

下面是一个简单的例子,但它假定您的窗体的其余部分装修不使用自定义列表...

$item1->setDecorators(array(
    'ViewHelper', 
    'Errors', 
    'Label', 
    array('HtmlTag', array('tag' => 'div', 
          'class' => 'hide_textbox', 
          'id' => 'item1-wrapper')) 
)); 
0

给您的表单的名称也将成为它的ID: -

$this->setName('formName'); 

您也可以选择添加一个类: -

$this->setAttrib('class', 'formClass'); 

然后你就可以针对装饰通过CSS: -

#formName dd, #formName dt{css:rules here;} 

.formClass dd, .formClass dt{css:rules here;} 

我发现这是迄今为止实现正是你想要做什么最简单的方法。