İletilen bir eylem içinde bir Zend_Form elemanı doldurma

1 Cevap php

Ben bu yapılamaz artık eminim ama neden açıklama takdir ediyorum, bu yüzden gelecekte benzer durumlarla karşı karşıya kalmazsınız! Ben bir form olmasını kullanıcı girişi tamamlar veya yeni form geçirilecek gerek bir parametre ile daha fazla girdi gerektirir ya bağımlı teslim zaman.

Ilk işleri ince göndermek ve değerleri bir sonraki biçiminde ince erişilir!

    $fooID = $foo->save($values);
    if($values['register'] == "true")
    {
      $this->_forward("register", "user", null, array('fooID' => $fooID));
    }else{
      $this->_redirect('/feedback/thanks');
    }

Ben yönlendirme am eylem aşağıdakileri yaptığınızda, doğru kimlik ekrana yazdırılır.

if($this->_getParam('fooID') != null){
    echo "FOO: ".$this->_getParam('fooID');
}

Ama nedense ben de bu eylem başlatıldı $ şeklinde bir öğe eklemek değil, ne de herhangi bir değer ile varolan bir alanın değerini doldurabilirsiniz.

$form->populate(array('fooID' => $this->_getParam('fooID')));

Yukarıdaki basit bir şey yapar ve başvuru için eleman şöyle örneği değeri doldurulur:

     $this->addElement('hidden', 'fooID', array(
        'decorators' => $this->_noElementDecorator,
        'validators' => array(
            'Digits'
        ),
        'required' => true
    ));

Ne olsa garip ben sadece id için, gizli elemanın adı olarak fooID değiştirirseniz, değer, önceki form gönderme sayfa url parametresi ile doldurulur olmasıdır.

Ben ben elemanın değerini doldurmak değil deyimi ile yan yana yazdırmak değeri eğer sınırlama yatıyor sadece merak, yapılamaz biliyorum dediğim gibi.

1 Cevap

  • Sizin populate() çalıştırdıktan sonra değerini değişiyor olması mümkün mü? Örnek olarak: $form->isValid($this->_request->getPost()); yeni form değerleri koyacaktır.

  • var_dump($form->fooID->getValue()); populate() sonra bir ayıklama hattı gibi deneyin ve eylem tamamlar önce bir kez? Ne göstermektedir ki?