Umělé vyvolání Nette Live Validation
- GEpic
- Člen | 566
Ahoj, myslel jsem že to nebude takový problém, ale je…
Mám formulář, ale před jeho odesláním chci provést ještě několik JS akcí (zobrazit přes jQuery druhou stránku se sumářem informací) a pak formulář odeslat a zpracovat, ale toto mi nefunguje:
<a href="#" id="checkout" class="btn btn-lg">Change!</a>
$("#checkout").click(function() {
if (!Nette.validateForm("#frm-orderForm"))
{
return false;
}
/.../ Rest of fuc*ing logic...
});
Console hází:
Uncaught TypeError: Cannot set property 'hasError' of undefined - live-form-validation.js:462
Jakým způsobem lze vyvolat live validaci přes submitem? Nebo existuje jiný způsob? Díky!
Editoval GEpic (18. 1. 2016 8:14)
- Michal Hlávka
- Člen | 190
@GEpic @Lexi ti to napsal správně, akorát místo this dosaď selector toho formuláře. Takže né
if (!Nette.validateForm("#frm-orderForm"))
ale
if (!Nette.validateForm($("#frm-orderForm")))
- GEpic
- Člen | 566
Ahoj, tak jsem se konečně dostal k tomu to dodělat. Ale řešení nakonec zafungoval úplně jiné, ani když jsem opravil selector, tak to nepomohlo. Až toto:
$("#checkout").click(function(event) {
// event.preventDefault(); <- Vypnutí href
var form = document.getElementById('frm-orderForm');
if (!Nette.validateForm(form)) {
return false;
}
});
Nevím, proč $('#frm-orderForm')
nefungoval.
Editoval GEpic (22. 1. 2016 0:23)
- Michal Hlávka
- Člen | 190
@GEpic to co jsi napsal, je ve výsledku úplně stejné řešení, neházela ti console nějakou chybu, která to ovlivňovala?
- GEpic
- Člen | 566
@emptywall právě že házela, a to sice že nebyl vybrán platný formulář. Toto fungovalo, i když ano, je to stejné řešení (logicky), přesto toto fungovalo bez problémů a formulář vypsáno a používám to tak pravidelně. Ale jQuery selector bohužel formulář nevybral.
EDIT: Omlouvám se za pozdní odpověd
Editoval GEpic (1. 2. 2016 2:00)