Zdravím, mám problém s odoslaním formulára po zavolaní funkcie preventDefault(). Niekde robím určite chybu. Mám klasický formulár, po kliknutí na submit button chcem aby sa zobrazilo okno s informácia a po 10 sekundách sa odoslal formulár. Mám to napísané takto:
HTMLKód:
<form method="post" id="create-budget">
...
<input type="submit" value="Vypočítať" name="make-budget">
</form>
JqueryKód:
// zobrazenie vyskakovacie okna
var showPopup = function() {
$('#pop-up').fadeIn('slow);
$('#container').css('opacity','0.6');
return true;
}
// skrytie vyskakovacieho okna
var hidePopup = function() {
$('#pop-up').fadeOut('slow);
$('#container').css('opacity','1');
return true;
}
// po kliknutí na submit button
$('#create-budget').submit(function(e) {
e.preventDefault();
// zobrazit okno
showPopup();
// po 10 sekundach zatvorit
setTimeout(function() { hidePopup(); }, 10000);
// odoslat formulár
$(this).submit();
});
Predpokladám, že pri volaní $(this).submit() sa zasa dostanem na začiatok a znovu odoslanie formulára zablokuje funkcia preventDefault(). Vyskúšal som pred posledný riadok napísať ešte $(this).unbind('submit') ale formulár sa taktiez neodoslal. Ďakujem za každú radu.