Formulář pro přihlašování na akci – postupné přidávání osob

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
HappyBear
Člen | 10
+
0
-

Dobré odpoledne,

vloni se mi – prakticky bez znalosti PHP a Nette :-) – povedlo spáchat funkční formulář pro přihlašování osob na akci (jméno, kontakt, výběr semináře, volba ubytování atd.). Letos bych rád tento formulář vylepšil tak, aby bylo možné najednou přihlásit více osob, tj. uživatel vyplní údaje prvního přihlášeného a poté místo na „Odeslat“ klikne na „Další osoba“ a zobrazí se mu druhá „instance“ téhož formuláře, kterou vyplní – toto celé n-krát zopakovat a poté najednou zpracovat. Z pohledu uživatele mi to přijde intuitivní a jednoduché, leč jako programátor si již několik hodin marně lámu hlavu, jak toho za pomoci Nette dosáhnout. Znovu jsem prošel examples, pročetl sekci Formuláře na fóru a stále ani stopa po nápadu. :-( Mohl by mne prosím někdo zkušenější stručně (přesto pokud možno polopaticky :-) nasměrovat správným směrem?

Díky moc.

BigCharlie
Člen | 283
+
0
-

Funkčně se to zřejmě příliš neliší od vícekrokového forumláře, ne?

Já bych si při každém odeslání formuláře přes „Další osoba“ uložil data do session. Po odeslání přes „Dokončit registraci“ bych si vytáhnul všechno ze session a uložil. Nevidím tam nějaký závažnější problém, ne?

HappyBear
Člen | 10
+
0
-

BigCharlie napsal(a):

Funkčně se to zřejmě příliš neliší od vícekrokového forumláře, ne?

Já bych si při každém odeslání formuláře přes „Další osoba“ uložil data do session. Po odeslání přes „Dokončit registraci“ bych si vytáhnul všechno ze session a uložil. Nevidím tam nějaký závažnější problém, ne?

Ano, tohle by asi také šlo (pokud se naučím pracovat se sessions:-), díky. Moje původní představa však byla, že by se po klinutí na „Další osoba“ pouze dynamicky přidala další sekce do aktuálního formuláře, tj. uživatel by nahoře měl již zadané údaje (a mohl je případně dodatečně upravovat) a pod nimi by přibyla prázná pole pro další osobu. Vyjadřuji se pochopitelně? Lze nějak rozumně dosáhnout podobného efektu, nebo si moc vymýšlím?