Zachování vyplněných hodnot ve formuláři při ajaxovém překreslení

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

Ahoj, vytvářím aplikaci, kde chci evidovat osobní údaje uživatelů. Mám prví formulář, kde jsou pouze dva radio buttony – jeden fyzická a druhý právnická osoba. Dále mám formulář pro zadávání osobních údajů, kde jsou inputy například pro jméno, příjmení, email, adresu atd. Pokud v prvním formuláři uživatel změní hodnotu z právnické na fyzickou nebo naopak, k druhému formuláři se přidají nebo odeberou pole pro název firmy a IČ a pomocí ajaxu se znovu vykreslí. Bohužel se z něj vymažou všechny vyplněné hodnoty, takže uživatel musí vše vyplňovat znovu.

Věděl by někdo, jak z formuláře získat vyplněné hodnoty, i když formulář nebyl odeslán, abych je pak mohl zapsat do nově vyrenderovaného formuláře. Díky.

Jan Mikeš
Člen | 771
+
0
-

Pokud formular neodesles a zaroven ho prekreslujes tak me nenapada zadny zpusob jak data ulozit.

Realna reseni:

  1. formular odeslat a data ulozit do session kterou pak pouzijes k setDefaults()
  2. neprekreslovat ajaxem ale udelat si ->toggle() primo ve formulari

Editoval Lexi (29. 8. 2013 13:23)

jiri.pudil
Nette Blogger | 1032
+
0
-

Data z formuláře můžeš sesbírat JavaScriptem v okamžiku, kdy posíláš ajaxový request, a poslat si je v něm. jQuery na to má funkci serialize(), ev. serializeArray().

Jan Mikeš
Člen | 771
+
0
-

jiri.pudl ma pravdu, napadlo me to po nejake dobe, ze to muze obstaravat primo javascript, ale prijde mi to zbytecne slozitejsi nez mnou nabizena reseni