Rozpoznání tlačítek při odesílání ajaxového formuláře
- Vojtěch Dobeš
- Gold Partner | 1316
Nu, nainstaluj ho podle dokumentace. Pak se používá úplně stejně, jako
ten chudáček z quickstartu, tedy stačí dát odkazu/formuláři CSS třídu
ajax
.
- Vojtěch Dobeš
- Gold Partner | 1316
V tom případě by to chtělo upřesnit zadání. Netuším, s čím přesně chceš pomoct.
- Vojtěch Dobeš
- Gold Partner | 1316
Stále úplně nerozumím, čeho přesně chceš dosáhnout?
Ajaxově funguje to, co má CSS třídu ajax
.
- Vojtěch Dobeš
- Gold Partner | 1316
Ahá… takže po ajaxovém odeslání toho formuláře by se mělo zavřít
modální okno, ve kterém ten formulář je. Můžeš to udělat dvěma
způsoby. Buď to odeslání iniciovat manuálně (zavěsit se prostě klasicky
pomocí jQuery na ten konkrétní formulář do události submit
a
odeslat ho ajaxově manuálně:
$('#my-form').netteAjaxOff().submit(function (e) {
$(this).netteAjax(e).done(function () {
// close modal
});
});
Anebo si udělat nějakou chytrou extension, která bude detekovat, jestli šlo o formulář, a jestli byl v modálním okně, ale přijde mi to nutně méně výkonné.
To .netteAjaxOff()
tam nemusí být, pokud tomu formuláři ani
nebudeš dávat CSS třídu ajax
.
- Vojtěch Dobeš
- Gold Partner | 1316
Omlouvám se, ale místo vyměňování si milionu příspěvků na fóru bude lepší začít třeba ukazovat kód, o kterém se bavíme. Já jsem přeci ukázal, jak ho odeslat ajaxově.
- Vojtěch Dobeš
- Gold Partner | 1316
Nu, a v čem můj kód nefungoval :)? Tam odeslání taky proběhne ajaxově. Kdybych ho teda měl úplně zkompletovat (nahradit ten komentář), tak takto:
$('form.ajax :submit').click(function (e) {
$(this).netteAjax(e).done(function (payload) {
if (payload.message == 'ok') {
$('#myModal').modal('hide');
}
});
});
Pochopitelně znovu obalit do čekání $(function () { ...
.
- Mirda
- Člen | 35
Díky.
Ještě jsem se chtěl zeptat na chybovou hlášku ve webové konzoli, která se
týká verze s jquery.ajaxform.js.
Na formulář jsem napojil Live Form Validation. Pokud kliknu na formulářové
tlačítko save a formulář není validní, objeví se v konzoli tato
hláška:
TypeError: $(…).ajaxSubmit(…) is null.
Dotaz: Mám s tím něco provést? Nějak to ošetřit?