Hey, Yes, sorry i meant you CAN set null and it should unset the property. I think it's either a bug or something is wrong or is working not as the way it should.
Not sure but you could raise an issue. Vince. On Wed, Apr 1, 2009 at 11:36 AM, <[email protected]> wrote: > Hi, > > Looking at it I can see I *can* set null as the value, as per: > > if (null === $value) { > unset($this->$name); > > > But I presume some decorator or other render method replaces attribute "id" > with the "name" attribute value if "id" equals null > > I haven't been able to figure out where this is though. I looked in: > > > Zend_Form_Element > Zend_Form_Element_Hidden (which I need it for) > Zend_Form_Element_Xhtml > Zend_Form_Decorator_Abstract > Zend_Form_Decorator_FormElements > Zend_Form_Decorator_HtmlTag > > ...all to no avail. So any other pointers much appreciated. > > Cheers > > > ------------------------------ > Date: Wed, 1 Apr 2009 11:09:54 +0300 > Subject: Re: [fw-general] Disable id attribute for form elements? > From: [email protected] > To: [email protected] > CC: [email protected] > > Hi, > > looking at Form/Element.php at the setAttrib function you can understand > how the function works. you can tell that you can't just set null as the > value. > > > /** > * Set element attribute > * > * @param string $name > * @param mixed $value > * @return Zend_Form_Element > * @throws Zend_Form_Exception for invalid $name values > */ > public function setAttrib($name, $value) > { > $name = (string) $name; > if ('_' == $name[0]) { > require_once 'Zend/Form/Exception.php'; > throw new Zend_Form_Exception(sprintf('Invalid attribute "%s"; > must not contain a leading underscore', $name)); > } > > if (null === $value) { > unset($this->$name); > } else { > $this->$name = $value; > } > > return $this; > } > > Vince. > > On Wed, Apr 1, 2009 at 10:31 AM, <[email protected]> wrote: > > Hi all, > > Is there a way to disable the rendering of id attributes for form elements? > I'm building a CMS which displays a tree of pages that can be edited. The > tree consists of multiple forms for each page. I'ld rather not create unique > for all of them. > > I tried: > Zend_Form_Element::setAttrib( 'id', '' ); // results in invalid W3C code: > id="" > Zend_Form_Element::setAttrib( 'id', null ); // results in rendering > id="<name of the element>" > > I just simply want to disable the id attribute. Any possibilities? > > Cheers > > ------------------------------ > Alle tips en trics. Ontdek nu de nieuwe Windows > Live<http://www.microsoft.com/netherlands/windowslive/Views/tipsItemDetail.aspx> > > > > > -- > Vincent Gabriel. > Lead Developer, Senior Support. > Zend Certified Engineer. > > ------------------------------ > Haal meer uit je Hotmail met Internet Explorer 8. Download > nu<http://www.microsoft.nl/ie8> > -- Vincent Gabriel. Lead Developer, Senior Support. Zend Certified Engineer.
