Autor Zpráva
lopik
Profil
Dobrý deň prajem,
mám e-shop, kde mám možnosť platenia platobnou kartou. S tým, že sa mi často stáva, že človek opustí stránku bez toho, aby po vytvorení objednávky zaplatil. Preto sa chcem spýtať, či existuje možnosť spraviť JS alert , ale taky trošku špecifický. Alert by mal vybehnúť vždy vtedy ak chce užívateľ opustiť stránku, ale nesmie vybehnúť, keď dá odoslať formulár, čiže stlačí špecifický button. Dúfam, že som zrozumiteľne vysvetlil, čo potrebujem. Ďakujem
Taps
Profil
toto Upozornění před zavřením stránky ?
lopik
Profil
áno, niečo takéto myslím, ale s tým, že keď klikne užívateľ na na tlačidlo odoslania formulára, že hláška nevybehne. teda vybehne len vtedy keď chce opustiť stránku inak ako odoslaním formulára. nejaké nápady?
Radek9
Profil
lopik:
V případě, že proběhne onsubmit event na formuláři, smaž ten onbeforeunload event.
lopik
Profil
Radek9:
vieš mi prosím poradiť, ako to spraviť? aspoň nejaký ľahký návod, nakoľko v JS sa nevyznám. vďaka
DarkMeni
Profil
1. Dej formuláři atribut id, jestli ho ještě nemá, ať se k němu snadno dostaneš přes javascript.

Přibližně to co říkal Radek9 v podobě kódu:
document.getElementById("id-formulare").onsubmit = function(){
  window.onbeforeunload = function(){ /* prazdna funkce, prepise tu puvodni */ };
}
Keeehi
Profil
Čistější řešení by bylo přes addEventListener ale tohle by mělo také fungovat.
lopik
Profil
Takže formuláru som nastavil id="platba"
<form  method="POST" action="https://***" id="platba">
a pod to som umiestnil tento kód:
<script>
window.onbeforeunload = function() {
  return "Upozornenie, ak nevykonáte koratne platba, objednávka bude zrušená (onbeforeunload)";
}

window.onunload = function() {
  alert("Upozornenie, ak nevykonáte koratne platba, objednávka bude zrušená (onunload)");
}  
document.getElementById("platba").onsubmit = function(){
  window.onbeforeunload = function(){ /* prazdna funkce, prepise tu puvodni */ };
}

</script>
Pri odosielaní formulára mi stále hlási upozornenie na odchod. Viete mi prosím povedať, čo robím zle?
Radek9
Profil
lopik:
Mně to funguje v pohodě: Odkaz
lopik
Profil
Áno, nakoniec, som tam mal jednu chybu, už to ide aj mne. Ale prišiel som na to, ze keď dám na prehliadači tlačidlo späť, tak už hlášku nehádže. ako to môžem rozšíriť o túto možnosť? Ďakujem

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0