Nette.ajax.js: Zpracování formuláře – identifikace submit tlačítka

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

Dobrý den,
při ne-ajaxovém zpracování formuláře používám $form->isSubmitted()->name pro identifikaci konkrétního zvoleného tlačítka. Pokud formulář zajaxuju pomocí nette.ajax.js, tak mi tento přístup hází chyby ($form->isSubmitted() vrací pouze true, ne objekt tlačítka). Jakým způsobem můžu tlačítko identifikovat při ajaxovém odeslání?

chap
Člen | 81
+
0
-

Ahoj, zkusil jsem a mě to projde. Asi by jsi mohl napsat jakou chybu ti to v tom ajaxovém response posílá.

Argonisius
Člen | 10
+
0
-

Hází to „Trying to get property of non-object“ při $form->isSubmitted()->name, protože $form->isSubmitted() není objekt, ale true (to už jsem si ověřil).

Abych upřesnil situaci:
Mám formulář (celý ve snippetu) s 1 odesílacím tlačítkem.

  1. odešlu formulář tlačítkem – tentokrát vše OK
  2. při zpracování formuláře do formuláře přidám další submit tlačítka – mám tedy např. 3 tlačítka
  3. překreslím celý formulář pomocí redrawControl()
  4. odešlu formulář některým z nově přidaných tlačítek – tentokrát už vyskočí zmíněná chyba; odeslání formuláře tím „původním“ tlačítkem funguje
chap
Člen | 81
+
0
-

Argonisius napsal(a):

Ted mozna varim z vody, ale podle toho co popisujes bych to videl tak, ze po odeslani se v aplikaci „znovuvytvari“ ten form, ale neobsahuje to tvoje tlacitko, ktere jsi tam nejak jinak pridal. Tzn odesles, ale uz pak vytvaris formular s tim jednim tlacitkem – appka ti tam to tlacitko nenamapuje na vytvoreny control a proto to varti jen boolean. Mozno hlidat cista HTTP data?