Rozchození js validace po ajaxovém překreslení části formuláře

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

Zdravím,
mám formulář a při změnách některých polí některé části formu překresluju ajaxem. Dělám to tak, že mám skryté tlačítko s třídou ajax a validationScope = FALSE, kterým to odesílám javascriptem při změnách zmíněných polí.

Kromě toho mám ještě viditelné tlačítko pro neajaxové odeslání celého formu. ValidationScope jsem mu nijak nenastavovala, takže přepokládám, že by se měl po kliknutí validovat celý formulář. Serverová validace po odeslání funguje, vypíšou se errory, ale javascriptová validace nedělá nic. Předpokládám, že je to právě kvůli tomu ajaxovému překreslování částí formu.

Edit: javascriptová validace na začátku (před prvním ajaxem) normálně funguje. Takže celkem jistě bude na vině překreslování.

Zkoušela jsem to rozchodit takhle

<script>
    $.nette.ext({
        load: function(){
            initBinds(); // naváže ajaxové překreslování na jednotlivé inputy
            Nette.initForm($('form.myForm'));
        }
    });
</script>

ale končí mi to na TypeError: form.elements is undefined.

Budu ráda za jakoukoliv radu nebo nakopnutí, co by se s tím dalo dělat.

Editoval chikeet (2. 6. 2015 3:46)

enumag
Člen | 2118
+
+3
-

Řekl bych že Nette.initForm nemá rádo jQuery objekt. Zkus tohle:

Nette.initForm($('form.myForm').get(0));

Editoval enumag (2. 6. 2015 8:04)

newPOPE
Člen | 648
+
-1
-

Co tak prekreslovat cely formular namiesto jednotlivych poli?

chikeet
Člen | 160
+
0
-

Nemůžu, kvůli file inputu. Kdyby to šlo, tak ho klidně překreslím a nekomplikuju si život :-)

chikeet
Člen | 160
+
0
-

Funguje, díky moc!