Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 3 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 30.05.09
Prihlásený: 14.02.14
Príspevky: 106
Témy: 52
Príspevok NapísalOffline : 12.02.2014 14:41

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:

HTML
Kód:
<form method="post" id="create-budget">
     ...
     <input type="submit" value="Vypočítať" name="make-budget">
</form>


Jquery
Kó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.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 06.02.14
Prihlásený: 19.01.18
Príspevky: 443
Témy: 9
Príspevok NapísalOffline : 12.02.2014 16:03

skus takto. ten submit som vlozil ako callback, aby sa volal az vo funkcii hidePopup. vyskusaj, pripadne skus tam vlozit nejaky console.log.

Kód:
// zobrazenie vyskakovacie okna
var showPopup = function() {
  $('#pop-up').fadeIn('slow');
  $('#container').css('opacity','0.6');
  return true;
}

// skrytie vyskakovacieho okna
var hidePopup = function(cb) { // doplneny atribut - funkcia submitu
  $('#pop-up').fadeOut('slow', function() {
   $('#container').css('opacity','1'); // zmena opacity az po vykonani fadeOut
   cb();   // zavolanie submitu formulara
  return true;
  });

}

// po kliknutí na submit button
$('#create-budget').submit(function(e) {
 var $formular = $(this);
  e.preventDefault();
 
  // zobrazit okno
  showPopup();
  // po 10 sekundach zatvorit
  setTimeout(function() {
      hidePopup(function() {
          $formular.submit();  // posielam submit formularu, ktory je zavolany ako callback
      });
   }, 10000);

  // odoslat formulár
 
});



oprava: som chcel zvyraznit zmeny, ale ako je napisane nizsie, neda sa, tak hladaj :P


Naposledy upravil hatto13 dňa 12.02.2014 18:01, celkovo upravené 1

Offline

Skúsený užívateľ
Skúsený užívateľ
Vykonanie submit() po preventDefault

Registrovaný: 24.01.08
Prihlásený: 13.09.17
Príspevky: 14572
Témy: 66
Bydlisko: Žilina
Príspevok NapísalOffline : 12.02.2014 17:30

hatto, odstráň si ten bbcode z kódu, ako vidíš, pri code to nefunguje







_________________
C#, PHP, ...
Odpovedať na tému [ Príspevkov: 3 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. Zlyhalo vykonanie 'grub-install (hd0)'

v Operačné systémy Unix a Linux

6

1143

08.08.2008 20:55

cassyopea Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Shell, vykonanie pre 2 podmienky

v Ostatné

3

421

02.12.2017 23:40

void Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Vykonanie akcií po skončení http spojenia

v PHP, ASP

6

585

17.08.2009 19:37

rooobertek Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. opatovne vykonanie php pri stlaceni tlacidla spat

v PHP, ASP

4

508

29.12.2012 18:50

boyindoor Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Chybové hlásenie ,,nedostatok ukladacieho priestoru pre vykonanie príkazu"

v Operačné systémy Microsoft

9

619

02.05.2020 22:25

tatko Tom Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Submit textarea?

v PHP, ASP

1

511

15.09.2009 17:59

Ded'leg Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Submit tlačítko

v PHP, ASP

13

1132

20.11.2009 13:31

KViki Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Submit disabled

v JavaScript, VBScript, Ajax

3

453

08.05.2011 23:12

max-m Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. jQuery submit();

v JavaScript, VBScript, Ajax

2

594

29.05.2010 18:46

Draex Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. 2 submit-buttony

v PHP, ASP

8

741

09.08.2009 0:05

pogo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Submit a PHP

v PHP, ASP

3

732

21.05.2011 13:06

stenley Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. submit form text+file

v JavaScript, VBScript, Ajax

6

728

31.01.2011 10:17

DeeJay3 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Input submit vz image

v PHP, ASP

18

1039

10.07.2010 11:16

php30 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. nahratie obrazku na submit

v HTML, XHTML, XML, CSS

4

629

16.11.2007 12:18

stenley Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. this.form.submit() a mod_rewrite

v JavaScript, VBScript, Ajax

4

918

06.03.2009 15:57

lio Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. input type: submit vs. image

v HTML, XHTML, XML, CSS

5

467

17.03.2010 17:59

shaggy Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra