Autor | Zpráva | ||
---|---|---|---|
nethor Profil |
#1 · Zasláno: 22. 9. 2013, 14:12:53
Zdravím,
snažím se napsat scriptík, který má uživatele upozornit, že neuložil změněná data ve formuláři. Vycházím z tohoto: window.onbeforeunload = function(e) { return "Změny nebyly uloženy, opravdu chcete opustit stránku?"; } Potřeboval bych vyloučit zobrazení hlášky 1. při odeslání formuláře 2. když nedošlo ke změně dat ve formuláři Na netu jsem žádné fungující řešení nenašel. Máte nějaký nápad jak na to? |
||
pako Profil * |
#2 · Zasláno: 22. 9. 2013, 14:53:29
Vytvor premennu, ktoru zmenis pri odoslani formulara alebo ked nedojde k zmene dat a testuj ju v obsluhe
beforeunload
|
||
nethor Profil |
#3 · Zasláno: 22. 9. 2013, 18:07:33
Tak se mi to podařilo rozchodit.
Testování formuláře se zapne natavením <form class="WarnSave" .... var WarnSave = false; $('form.WarnSave input').focus(function() { WarnSave = true; }); $('form.WarnSave textarea').focus(function() { WarnSave = true; }); $('form.WarnSave :submit').click(function() { WarnSave = false; }); $('form.WarnSave').submit(function() { WarnSave = false; return true ; }); $(window).bind('beforeunload', function() { if (WarnSave) { return "Změny je třeba uložit."; } }); Jen mi nejde změnit hlášku, každý prohlížeč si tam píše něco jiného. Nejde to nějak obejít, třeba přes confirm? |
||
pako Profil * |
#4 · Zasláno: 22. 9. 2013, 18:37:46
podla https://developer.mozilla.org/en-US/docs/Web/API/window.onbeforeunload Since 25 May 2011, the HTML5 specification states that calls to window.showModalDialog(), window.alert(), window.confirm(), and window.prompt() methods may be ignored during this event.
|
||
Časová prodleva: 11 let
|
0