ajlisowski Posted June 12, 2010 Share Posted June 12, 2010 Hey all, I have a quick question about decorators. I basically want to add a class to the decorator but it doesnt appear to be working: $input_dec=array( 'ViewHelper', 'Description', 'Errors', array(array('data'=>'HtmlTag'), array('tag' => 'div'), array('class'=>'blue_box') ); The div appears but it does not have a class. How do I get it to have a class? Also, my form in general seems a bit off due to decorators... public function init() { $input_dec=array( 'ViewHelper', 'Description', 'Errors', array(array('data'=>'HtmlTag'), array('tag' => 'div'), array('class'=>'blue_box'), array('id', 'boom_bap')), ); $texarea_dec=array( 'ViewHelper', 'Description', 'Errors', ); ini_set('display_errors',1);error_reporting(E_ALL); $this->setName('rsvp_form'); $name = new Zend_Form_Element_Text('guest_name'); $name->setAttrib('class', 'rsvp_input click_clear') ->setValue('Name') ->setDecorators($input_dec); $guests = new Zend_Form_Element_Text('number_of_guests'); $guests->setAttrib('class', 'rsvp_input click_clear') ->setValue('# of Guests (including you)') ->setDecorators($input_dec); $accept=new Zend_Form_Element_Checkbox('accept'); $options = array( 'checkedValue' => '1', 'uncheckedValue' => '0', ); $accept->setOptions($options) ->setLabel('Delightfully Accepts') ->setAttrib('onclick', 'rsvp_form.attending();'); $decline=new Zend_Form_Element_Checkbox('decline'); $options = array( 'checkedValue' => '1', 'uncheckedValue' => '0', ); $decline->setOptions($options) ->setLabel('Regretfully Declines') ->setAttrib('onclick', 'rsvp_form.attending();'); $message = new Zend_Form_Element_Textarea('message'); $message->setValue('Regardless of your attendence, feel free to wish us well! Amy will need it!') ->setDecorators($texarea_dec); $submit = new Zend_Form_Element_Submit('submit'); $submit->setAttrib('id', 'submitrsvp'); $this->addElements(array($name,$guests,$accept,$decline,$message,$submit)); } Whats happening there is the textarea element is somehow being dispaly in the dd id="decline_element" in IE7. I have no idea why. It works fine in IE8 and FF. When I view source, the html itself seems good, so I dont know why the text area is somehow within the DD <form id="rsvp_form" enctype="application/x-www-form-urlencoded" action="" method="post"><dl class="zend_form"> <div> <input type="text" name="guest_name" id="guest_name" value="Name" class="rsvp_input click_clear"></div> <div> <input type="text" name="number_of_guests" id="number_of_guests" value="# of Guests (including you)" class="rsvp_input click_clear"></div> <dt id="accept-label"><label for="accept" class="optional">Delightfully Accepts</label></dt> <dd id="accept-element"> <input type="hidden" name="accept" value="0"><input type="checkbox" name="accept" id="accept" value="1" onclick="rsvp_form.attending();"></dd> <dt id="decline-label"><label for="decline" class="optional">Regretfully Declines</label></dt> <dd id="decline-element"> <input type="hidden" name="decline" value="0"><input type="checkbox" name="decline" id="decline" value="1" onclick="rsvp_form.attending();"></dd> <div> <textarea name="message" id="message" rows="24" cols="80">Regardless of your attendence, feel free to wish us well! Amy will need it!</textarea></div> <dt id="submit-label"> </dt><dd id="submit-element"> <input type="submit" name="submit" id="submitrsvp" value="Add"></dd></dl></form> Any ideas as to what is causing it? Amy loves Tony in IE 7 Also, how would I go about getting forms into my header? In my layout.phtml I have a header and footer and content sections. I want to be able to draw a form in the header. How would I go about doing this? How does zend framework tackle such a basic issue? Im using this project to learn the concepts behind MVC and zend framework, so sorry if I suck. Would I create a header and footer controller, and then include them somehow by the layout.phtml file? Link to comment https://forums.phpfreaks.com/topic/204594-zend-framework-forms-and-decorators/ Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.