Ajax, textové pole, iterace, nefunguje

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

Ahoj,
Posílám ajaxový formulář.
mám tabulku databáze, kterou iteruji v presenteru na výrobu formuláře, tak poté v šabloně.
jenže, pokud dám v šabloně podmínku, například jestli už někdy políčko vyplnil. Tak pokud mám
{$form["ceny"]["$item->item_id"]->control} uvnitř podmínky {if}{else}{$form["ceny"]["$item->item_id"]->control}{/if} tak se formulář odešle normálně bez ajaxu, a firebug vypíše cosi b[c]undefined – nefunční javascript validace. Pokud však tento control vyndám, tak vše funguje jak má, dokonce i když iteruju submit button. Postupným zjišťováním sem se dobpracoval k tomu, že tedy chybu způsobuje toto textové políčko… (je jich přibližně 100, každé unikátní). myslím, že chyba bude v zápisu…

Nefunguje

@{if $presenter->checkCart($item->item_id)}
                <tr><td>Předchozí pozn.:</td><td>{$presenter->getPrice($item->item_id)}</td></tr>
                <tr><td></td><td>Již v košíku.</td></tr>
                @{else}
                <tr><td>Poznámka:</td><td>{$form["ceny"]["$item->item_id"]->control}</td></tr>
                <tr><td></td><td>{$form["conf"]->control}</td></tr>
                @{/if}

Funguje, ale takhle to nechci :/

@{if $presenter->checkCart($item->item_id)}
                <tr><td>Předchozí pozn.:</td><td>{$presenter->getPrice($item->item_id)}</td></tr>
                <tr><td></td><td>Již v košíku.</td></tr>
                @{else}
                <tr><td>Poznámka:</td><td>whatever</td></tr>
                <tr><td></td><td>{$form["conf"]->control}</td></tr>
                @{/if}
                <tr><td></td><td>{$form["ceny"]["$item->item_id"]->control}</td></tr>

prosimvás, poraďte…

Editoval fidLi (28. 10. 2010 22:44)

fidLi
Člen | 41
+
0
-

Vyřešeno, je potřeba vykreslit všechny prvky formuláře, řeším to v divu display none, avšak to asi není elegantní

uestla
Backer | 799
+
0
-

Zkus v presenteru vytvaret jen ty prvky, ktere pak budes vykreslovat – cili bych to videl na presun $this->checkCart(...) primo do presenteru…