Formular s dynamickym poctem vstupu?

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

Mam formular, v nem nejake inputy, a na kliknuti generuju dalsi javscriptem rekneme ze jim
prideluju jmeno input1 .. inputN

Formular generuju pres createComponent (lazy).

Jak rict nette (v handleru po odeslani formulare nejlepe), ze polozek je N?

$form->getValues();
vrati pole bez polozek vygenerovanych javascriptem (logicky),
pouze s poli vytvorenymi v createComponent

phx
Člen | 651
+
0
-

Resenim si nejsem zcela jist, ale asi by pomohlo cislovani jakoby do pole
input[1] ... input[N]

Ve Form se to da vyresti pomoci addContainer(‚input‘) do ktereho das prvky 1 az N (cislo musi byt jako string:)

Marwin
Člen | 3
+
0
-

Vyzkousel jsem. Vystup z formualre je hezci, ale neresi to muj problem.
Porad musim pri generovani formulare v nette znat N (ktere ovsem muze uzivatel zmenit pridanim dalsich poli do formulare, pomoci javascriptu). – Leda by ty prvky sly pridat (a rovnou precist) az v handleru kde vyhodnocuju formular?

_Martin_
Generous Backer | 679
+
0
-

A co to nejdřív navrhnout bez JavaScriptu a potom jej teprve přidat?

Počet prvků by šel předat po kliknutí parametrem v URL. V presenteru by to přechroupala nějaká logika, která by formulář vytvořila. Vyplněná data by zůstala, pouze nově vytvořené políčko by bylo prázdné. A na nově vytvořené stránce by byl parametr o jedno větší.

Předělat to následně do JavaScriptu (ať již s AJAXem nebo bez) by neměl být problém. Vzhledem k podpoře AJAXu v Nette by mohla být tato cesta jednodušší.

phx
Člen | 651
+
0
-

Vytvorit dane reseni bez JS je urcite spravna cesta! JS by mel byt jen tresnicka na dortu:)

Takze Nette kontroluje zda dany prvek existuje i kdyz jde o ciselnou radu? To jsem netusil, ale je to logicke:)