jak vypnout Flush vypsaných inputů při přepínání mezi sekcemi formuláře
- ZAJDAN
- Člen | 45
čaute nettíci…
řeším problém:
udělali jsme formulář který se skládá z několika sekcí…co sekce to
latte
chtěl bych docílit toho abych mohl přeskakovat mezi sekcemi a při návratu
do sekce která už byla vyplněná se mi inputy nevyflushovali. Nyní když
vyplním sekci 1 a skočím do sekce 2 poté se vrátím do sekce 1 vše co
jsem vypsal je pryč. Je nutné používat na každé z tlačítek submit? Dá
se nějak zařídit aby se vyplněný input okamžitě uložil a ta session
vydržela i když se přepnu a vrátím zpět?
toto je šablona obsahující buttony s valáním na akce v presenteru:
{extends '../@layout.latte'}
{define #content}
<div id="BodyForm">
<div id="inBodyForm">
<div id="buttonsNavigatorSub">
<a id="navButton-postava" n:href="Registration:personal">1</a>
<a id="navButton-cena" n:href="Registration:price">2</a>
<a id="navButton-jazyky" n:href="Registration:languages">3</a>
<a id="navButton-dostupnost" n:href="Registration:workHours">4</a>
<a id="navButton-vybaveni" n:href="Registration:facilities">5</a>
<a id="navButton-praktiky" n:href="Registration:services">6</a>
</div>
{include #form}
</div>
</div>
{/define}
v presenteru:
protected function createComponentWorkHours() {
$form=new \SexyStrela\Components\Girl\WorkHours;
return $form;
}
protected function createComponentFacilities() {
$form = new Facilities($this->model->getFacilities());
return $form;
}
protected function createComponentFotos() {
$form = new \SexyStrela\Components\Girl\Fotos();
return $form;
}
protected function createComponentPersonal() {
$form = new \SexyStrela\Components\Girl\Personal();
return $form;
}
protected function createComponentPrice() {
$form = new \SexyStrela\Components\Girl\Price();
return $form;
}
protected function createComponentServices(){
$form = new \SexyStrela\Components\Girl\Services(
$this->model->getServices()
);
return $form;
}
protected function createComponentLanguages(){
$form = new \SexyStrela\Components\Girl\Languages();
return $form;
}
jedna z komponent:
class Personal extends BaseForm {
public function __construct(){
parent::__construct();
$this->setAction('/submit.php');
$this->setMethod('POST');
$this->onSuccess[] = callback($this, 'submitted');
$this->addText("age", "věk");
$this->addText("height", "výška");
$this->addText("color1", "barva očí");
$this->addText("color2", "barva vlasů");
$this->addText("hair", "délka vlasů");
}
no a ke každé komponentě je šablona latte pro vykresleni formuláře
Editoval ZAJDAN (3. 4. 2012 19:04)
- Tomáš Votruba
- Moderator | 1114
K inspiraci: https://forum.nette.org/…ovy-formular („wizzard form“ je to, co hledáš/děláš)