#1 před 3 lety

piler
Člen
Registrovaný: 30. 7. 2008
Příspěvky: 147

Upozornenie na zmenu/y na stranke

Zdravim,

potreboval by som spravit jednu vec do CMS. Na stranke sa nachadzaju formulare a ked uzivatel cokolvek v tychto formularoch zmeni, formular neulozi a klikne na ktorykolvek odkaz na stranke tak ho aplikacia upozorni na vykonane zmeny a mal by ich najskor ulozit.

Premyslal som nad tym, ze pri akej kolvek zmene formulara nastavit JS premennu:

changed=TRUE

a sledovat:

$(‚a‘).click(if (changed)…) (alebo sa to da sledovat aj inak???)

Len neviem ako zabezpecit to aby sa premenna zmenila pri zmene formulara.

Dik za kazdu dobre mienenu radu :)

 

#2 před 3 lety

danaketh
Člen
Registrovaný: 27. 12. 2008
Příspěvky: 23

Re: Upozornenie na zmenu/y na stranke

V jQuery by to šlo relativně snadno pomocí:

<script>
var changes = FALSE;

$("input[type='text']").change(function(){
        changes = TRUE;
});
</script>

Tím bys měl dostat changes na TRUE pokud se změní některý textový input. Pak při opouštění stránky by mělo stačit tohle.

<script>
$(document).unload(function(){
        if (changes == TRUE)    {
                ...nejaky alert jestli fakt opustit/zavřít...
        }
});
</script>

Editoval danaketh (5. 6. 2009 12:21)


Saying that Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders.

 

#3 před 3 lety

piler
Člen
Registrovaný: 30. 7. 2008
Příspěvky: 147

Re: Upozornenie na zmenu/y na stranke

danaketh napsal(a):

V jQuery by to šlo relativně snadno pomocí:

<script>
var changes = FALSE;

$("input[type='text']").change(function(){
      changes = TRUE;
});
</script>

Tím bys měl dostat changes na TRUE pokud se změní některý textový input. Pak při opouštění stránky by mělo stačit tohle.

<script>
$(document).unload(function(){
      if (changes == TRUE)    {
              ...nejaky alert jestli fakt opustit/zavřít...
      }
});
</script>

Toto vyzera presne na to, co som hladal. Idem to vyskusat. Dik moc :)

 

#4 před 3 lety

piler
Člen
Registrovaný: 30. 7. 2008
Příspěvky: 147

Re: Upozornenie na zmenu/y na stranke

danaketh napsal(a):

V jQuery by to šlo relativně snadno pomocí:

<script>
var changes = FALSE;

$("input[type='text']").change(function(){
      changes = TRUE;
});
</script>

Tím bys měl dostat changes na TRUE pokud se změní některý textový input. Pak při opouštění stránky by mělo stačit tohle.

<script>
$(document).unload(function(){
      if (changes == TRUE)    {
              ...nejaky alert jestli fakt opustit/zavřít...
      }
});
</script>

Este jedna vec, ako vlastne zabranim, aby sa browser presmeroval? Nemozem nic vygooglit a aj ked nieco, tak to nefunguje.

Dik

 

#5 před 3 lety

_Martin_
Člen
Registrovaný: 26. 9. 2008
Příspěvky: 718

Re: Upozornenie na zmenu/y na stranke

piler napsal(a):

Este jedna vec, ako vlastne zabranim, aby sa browser presmeroval? Nemozem nic vygooglit a aj ked nieco, tak to nefunguje.

Dik

Jen hádám: nepomůže, když ta funkce po zobrazení alertu vrátí FALSE?

 

#6 před 3 lety

piler
Člen
Registrovaný: 30. 7. 2008
Příspěvky: 147

Re: Upozornenie na zmenu/y na stranke

_Martin_ napsal(a):

piler napsal(a):

Este jedna vec, ako vlastne zabranim, aby sa browser presmeroval? Nemozem nic vygooglit a aj ked nieco, tak to nefunguje.

Dik

Jen hádám: nepomůže, když ta funkce po zobrazení alertu vrátí FALSE?

Vyriesil som to pomocou:

<script>
window.onbeforeunload = function(){
        if (changed) {
                return 'There are unsaved data!';
        }
}
</script>

Ziadne ine riesenie sa mi nepodarilo najst. Toto zatial funguje na 100%…dufam, ze aj bude :)…Kazdopadne dik za rady…pomohlo

 

Zápatí