U kombinace Nette formulářů s Colorboxem mi nefungovala validace (formulář byl načten v plovoucím okně colorboxu pomocí Ajaxu). Je to proto, že soubor netteForms.js se inicializuje událostí windows.load:
Nette.addEvent(window, 'load', function () { for (var i = 0; i < document.forms.length; i++) { Nette.initForm(document.forms[i]); } });
K ní ovšem dojde ještě před nahráním formuláře do colorboxu.
Je proto třeba do šablony, která zobrazuje formulář, přidat následující kód:
$(document).bind('cbox_complete', function() { for (var i = 0; i < document.forms.length; i++) { Nette.initForm(document.forms[i]); } });
Případně – pokud nechceme procházet celým cyklem for, tak aktivovat validaci jen pro konkrétně načtený formulář:
Nette.initForm( $('#id_formulare')[0] );