Formulář odesílá nezměněná data
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.

- jirisolc
 - Člen | 17
 
Zdravím,
vytvořil jsem formulář, kde je ve slick slideru několikrát textarea na
kterou je použit plugin TinyMCE. Každá textarea má nastavenou defaultValue.
Při odeslání formulář v POST posílá defaultValues namísto upravených
hodnot. Nevíte, kde by mohla být chyba?
Formulář vytvářím následujícím způsobem:
//AdminFormFactory
 private function createForm(){
        $form = $this->formFactory->create();
        $form->addSubmit('save', 'Uložit');
        return $form
}
public function createAdminMultiTextAreaForm($code){
        $form = $this->createForm();
        for($i = 1; $i <= 10; $i++) {
            $form->addTextArea($code.$i)
                ->setRequired();
        }
        return $form;
}
//AdminPresenter
  private function createMultiAreaForm($code){
        $form = $this->adminFormFactory->createAdminMultiTextAreaForm($code);
        $form->setDefaults([
            $code.'1' => $this->content[$code.'1'],
            $code.'2' => $this->content[$code.'2'],
            $code.'3' => $this->content[$code.'3'],
            $code.'4' => $this->content[$code.'4'],
            $code.'5' => $this->content[$code.'5'],
            $code.'6' => $this->content[$code.'6'],
            $code.'7' => $this->content[$code.'7'],
            $code.'8' => $this->content[$code.'8'],
            $code.'9' => $this->content[$code.'9'],
            $code.'10' => $this->content[$code.'10'],
        ]);
        $form->onSuccess[] = [$this, 'contentFormSucceeded'];
        return $form;
}
public function createComponentAboutForm(){
   return $this->createMultiAreaForm('about');
}
public function contentFormSucceeded($form, $values){
	//zde dumpne defaultní hodnoty
   \Tracy\Debugger::barDump($values);
   $this->contentManager->updateText($values);
   $this->redirect('this');
}
Šablona:
{form aboutForm}
   <div class="slick-admin">
     {for $i = 1; $i <= 10; $i++}
        <div>
          <textarea n:name="about{$i}"></textarea>
        </div>
     {/for}
   </div>
   <input type="submit" n:name="save" class="btn btn-success">
{/form}
Na té samé stránce používám stejnou textareu, ale bez slick slideru a funguje v pořadku.