| 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: 13 let
|
|||
0