Before a after sumbit callback na formulare
- pogo
- Člen | 29
Zdravim,
pouzivam nette.ajax.js
. Potreboval by som moznost definovat
callback na formular, ktory bude zavolany este pred jeho odoslanim a dalsi
callback, ktory sa zavola po uspesnom odoslani formularu.
Ked pouzijem triedu ajax
, tak uz funkciu submit
nemozem nabindovat. Ako mozem definovat co najjednoduchsie funkcie, ktore sa
vykonaju pred a po odoslani?
Dakujem.
- Vojtěch Dobeš
- Gold Partner | 1316
Jsou dva způsoby: buď pomocí obecné extension pro všechna formulářová odeslání, anebo specificky pro konkrétní formulář (platí relativně pro obojí :) ):
$('form').submit(function () {
... some your code before sending request ...
$(this).netteAjax();
... some your code after sending request ...
});
- pogo
- Člen | 29
Vdaka za odpovede.
Mam nasledujuci kod:
<script>
$(document).on('submit', '.filter-form', function ()
{
$this = $(this);
$this.netteAjax();
return false;
}
</script>
Triedu ajax
dany formular nema. Pri tomto pouziti ale je
formular odosielany pomocou GET. Ako by som mohol priradit funkciu na success?
Dalo by sa to nejak pomocou extensions, ale nie globalne, ale na konkretny
element?
Editoval pogo (9. 11. 2012 15:41)
- Vojtěch Dobeš
- Gold Partner | 1316
Takhle se ten formulář posílá jako GET? To je zvláštní, podívám se na to.
Metoda vrací to samé, co $.ajax()
. Takže lze volat:
$this.netteAjax().done(function () {
... some code on success ...
});
Etc.
Pokud to skutečně posílá GET, pokusím se to vyřešit. Jako workaround
zkus předat metodě objekt {type: 'post'}
.
- pogo
- Člen | 29
Po dlhsej dobe som sa vratil k tomuto problemu a nasiel som riesenie pre ten
GET
. Potrebne je totiz posunut dalej event (premenna e
v argumente):
<script>
$(document).on('submit', '.filter-form', function(e)
{
$this = $(this);
$this.netteAjax(e);
return false;
}
</script>
Teraz uz spravne deteguje, ze sa jedna o formular, pouzije POST
a spravnu adresu z action formulara. Rovnako aj funkcia .done()
funguje presne podla ocakavani. Vdaka.
- Vojtěch Dobeš
- Gold Partner | 1316
Hm, díky za vyřešení, tohle by dle mého soudu mělo fungovat i bez objektu události, opravím to.