Frage

Ich versuche, den folgenden Blog des Tabbed-Formen für die eigene Webseite zu erstellen.

http://zendguru.wordpress.com/2009/01/15/zend-framework-and-dojo-creating-tabbed-form/

Im Moment habe ich das Formular auf meiner Seite angezeigt wird, aber statt Tabs zeigt es die ganze Form wie normal. Ich weiß, dass die Form der subforms anzeigt, wie ich sie haben gesagt, und sie verschwinden. Kann mir jemand helfen, den Weg zur Erleuchtung finden? Ich glaube, dass alles, was relevant ist unten. Ich habe das Dojo Grund 1.4.0 befindet enthalten

http://www.dojotoolkit.org/downloads

Ich habe einen Link zu dem HTML-Code hier erstellt werden, wenn das auch hilft.

http://shortText.com/tljfsq6l37

Ich habe folgende AdminController.php Seite.

class AdminController extends Zend_Controller_Action
{

public function init()
{
    /* Initialize action controller here */
}

public function createeventAction()
{
    $this->view->page = 'createEvent';      
    $this->view->title = "Early Signup Administration";
    $this->view->headTitle($this->view->title, 'PREPEND');

    $createEventForm = new Form_CreateEvent();
    $this->view->form = $createEventForm;

}
}
?>

Ein CreateEvent.php Formular

<?php
class Form_CreateEvent extends Form_Event
{
public function __construct($options = null) 
{
    parent::__construct($options = null); 

    $shirt_sizes = array('s' => 'Small', 'm' => 'medium', 'l' => 'large', 'xl' => 'X-Large', 'XX' => 'XX-Large', '3X' => 'XXX-Large');

    $this->setDecorators(array(
    'FormElements',
    array('TabContainer', array(
    'id' => 'tabContainer',
    'style' => 'width: 600px; height: 500px;',
    'dijitParams' => array(
    'tabPosition' => 'top'
    ),
    )),
    'DijitForm',
    ));        

    $this->setName('createEvent'); 
    $idEvent = new Zend_Form_Element_Hidden('idEvent');         

    $type = parent::setName($this->type);
    $name = parent::setName($this->name);
    $city = parent::setName($this->city);
    $state = parent::setName($this->state);
    $location = parent::setName($this->location);
    $date = parent::setName($this->date);
    $shirtRequired = parent::setName($this->shirtRequired);
    $eventImage = parent::setName($this->eventImage);
    $eventUrl = parent::setName($this->eventUrl);
    //$submit = parent::setName($this->submit);


    $shirtSize = new Zend_Form_Element_MultiCheckbox ('shirtSize');
    $shirtSize->setLabel('Shirt Size') 
              ->setRequired(false) 
              ->addMultiOptions($shirt_sizes)
              ->setValue(array('s','m','l','xl'))
              ->addFilter('StripTags') 
              ->addFilter('StringTrim');


    $directorEmail = new Zend_Form_Element_Text('email');
    $directorEmail->setLabel('Director\'s Email') 
          ->setRequired(false) 
          ->addFilter('StripTags') 
          ->addFilter('StringTrim');              

    $waiverTitle = new Zend_Form_Element_Text('waiverTitle');
    $waiverTitle->setLabel('Waiver Title') 
          ->setRequired(false) 
          ->addFilter('StripTags') 
          ->addFilter('StringTrim');              

    $waiverText = new Zend_Form_Element_Text('waiverText');
    $waiverText->setLabel('Waiver Text') 
          ->setRequired(false) 
          ->addFilter('StripTags') 
          ->addFilter('StringTrim');              

    $eventClosedMessage = new Zend_Form_Element_Text('eventClosedMessage');  
    $eventClosedMessage->setLabel('Event Closed Message') 
          ->setRequired(false) 
          ->addFilter('StripTags') 
          ->addFilter('StringTrim');              

    $logoFlag = new Zend_Form_Element_Radio('logoFlag');
    $logoFlag->setLabel('Select Logo Image') 
          ->setRequired(false) 
          ->addMultiOptions(array(
             'logo' => 'Logo',
             'not_logo' => 'Not Logo'))
          ->addFilter('StripTags');

   /* $this->addElements(array($shirtSize, 
                            $directorEmail, 
                            $waiverTitle, 
                            $waiverText, 
                            $eventClosedMessage, 
                            $logoFlag
                            )); */

    $subForm1 = new Zend_Dojo_Form_SubForm();

    $subForm1->setAttribs(array(
    'name'   => 'textboxtab',
    'legend' => 'Text Elements',
    'dijitParams' => array(
    'title' => 'Text Elements',
    ),
    ));

    $subForm1->addElements(array($shirtSize, 
                            $directorEmail, 
                            $waiverTitle));

    $subForm2 = new Zend_Dojo_Form_SubForm();

    $subForm2->setAttribs(array(
    'name'   => 'toggletab',
    'legend' => 'Toggle Elements',
    ));

    $subForm2->addElements(array( 
                            $waiverText, 
                            $eventClosedMessage, 
                            $logoFlag
                            ));

$this->addSubForm($subForm1, 'textboxtab')
      ->addSubForm($subForm2, 'editortab');

}
} 
?>

In dem folgenden in der header.phtml, die auf dieser Seite enthalten ist.

<SCRIPT TYPE="text/javascript" SRC="/dojo/dojo.js"></SCRIPT>
<script type="text/javascript">
dojo.require("dojo.parser");
</script>

und die folgende auf der createEvent.phtml Seite I Ansicht versuchen

<?php echo $this->form ;?>
War es hilfreich?

Lösung

schwierig, genau zu sagen, was das Problem ohne Ihre CSS usw. sein könnte -. Aber Sie scheinen einige ziemlich ernste Probleme in der HTML-Quelle zu haben, so würde versuchen, sie vor allem anderen repariert

Zum Beispiel haben Sie ein doppeltes <html> Element innerhalb des <div id="head"> Elements (einschließlich duplizierten <head> und <body> Elemente), und das gebunden ist, zu etwas unvorhersehbaren Verhalten führen.

muss sagen, ich bin nicht ganz sicher, wie man diese Art von Ausgang bekam hätte. Verwenden Sie Layouts? Es Art sieht aus wie Sie haben das innere <html> Element in der Ansicht Skript erstellt, und dann es ist schon in einem zweiten durch das Layout Skript gewickelt. Vielleicht überprüfen gerade sind Sie auf jeden Fall nur den HTML-Code, den Kopf zu schaffen, Körperelemente an einem Ort und sehen, wo das man bekommt mit ...

starten
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top