fensterschließung verhindern | take two
Sorgenkind mech
- programmiertechnik
re
da bin ich wieder, mit einem alten problem
auf grund der stellung meines threads und einer ....... sagen wir unqualifizierten bzw. herablassenden antwort von jemand, dessen name hier keine rolle spielen soll, und nach dem auch bitte nicht nachgesehen werden soll, poste ich hier abermals meine frage ......
bitte nehmt es mir nich krumm, dieses doppelposting, jedoch benötige eine richtige antwort, kein hirnloses ........... egal
hier nochmal das problem:
ich hab das kleine problem, dass ich verhindern will, dass ein frame geändert werden kann, wenn dort drin etwas bearbeitet wurde
ich hatte mir folgendes überlegt:
es sind ja zwei frames, in dem einen das menü, der andere wo man daten eingeben kann
so, jetz könnte man ja sobald eine taste gedrückt wurde oder halt generell dem navigationsframe, wo man ja den unteren frame ändern kann, ne variable übergeben, also den obigen frame neu laden, sodass der dann weiß, dass unten was verändert wurde ......
wäre ne alternative
am liebsten wäre mir jedoch, wenn ich zum beispiel im body angeben kann onunload="userauthenticationforchange()"
und denn halt in der funktion confirm("blabla wirklich?"); endgültig zu bestätigen, ob die seite gewechselt werden soll
kann mir vorstellen, dass das nich möglich is, wär aber schön
anregungen werden gerne entgegengenommen
gruß
hi
am liebsten wäre mir jedoch, wenn ich zum beispiel im body angeben kann onunload="userauthenticationforchange()"
und denn halt in der funktion confirm("blabla wirklich?"); endgültig zu bestätigen, ob die seite gewechselt werden soll
kann mir vorstellen, dass das nich möglich is, wär aber schön
treffer und versenkt - geht zum Glück nicht. Selbst wenn, würde mich deine Seite dann wohl auch nie wiedersehen.
Grüße aus Bleckede
Kai
[der ohne besonderen Hinweis immer vom Internet und keinem Intranet o.ä. ausgeht]
naja, das ganze wird n firmenverwaltungsprogramm, also keine öffentliche seite, und soll verhindern, dass man das frame wechselt, ohne dass man die eingegebenen daten abspeichert, weil da kann viel arbeitszeit draufgehen
PS: es geht um einen frame, nicht um ein ganzes fenster!
hoffe, dass es noch einen kleinen lichtblick gibt, sonst muss ich mein bereits ausgeklügeltes verfahren anwenden, auch wenn es mehr arbeit bedeutet ;(
gruß
hi
naja, das ganze wird n firmenverwaltungsprogramm, also keine öffentliche seite,
DAS hättest du gleich sagen sollen, es steht nicht ohne Grund auch in der FAQ. Wenn man nichts sagt gehen die meisten hier vom öfentlichen Internet aus, wo man eben den Usern gewisseDinge auf keinen Fall zumuten kann.
und soll verhindern, dass man das frame wechselt, ohne dass man die eingegebenen daten abspeichert, weil da kann viel arbeitszeit draufgehen
ich würde mal sagen, dass haben die spätestens beim 3ten Mal gelernt ;)
..ansonsten eben in rot und blinkend unten drunter "Speichern nicht vergessen", wer es dann immer noch nicht gemerkt hat, dem is auch nimma zu helfen.
Grüße aus Bleckede
Kai
die merken sich das auch beim tausendsten mal nich ;)
bitte entschuldige meine etwas unaufschlüssige formulierung, sowie, wie mir gerade auffällt, des inkorrekte threadname ....
alternativ wäre ja noch die übergabe einer variablen ohne neuladen des navigationsframes zu bedenken, wodurch der wüsste, dass der datenframe editiert wurde ......... zum beispiel in dem man den namen des navigationsframes ändert, und dann abfragt, ob er nu zum beipsiel nich mehr "nav" heißt ........ nur hab ich keine ahnung wie ich das realisieren soll, jemand ne idee?
gruß
re
Hi Mech
ich hab das kleine problem, dass ich verhindern will, dass ein frame geändert werden kann, wenn dort drin etwas bearbeitet wurde
ich hatte mir folgendes überlegt:
es sind ja zwei frames, in dem einen das menü, der andere wo man daten eingeben kann
so, jetz könnte man ja sobald eine taste gedrückt wurde oder halt generell dem navigationsframe, wo man ja den unteren frame ändern kann, ne variable übergeben, also den obigen frame neu laden, sodass der dann weiß, dass unten was verändert wurde ......
ich nehme jetzt mal an, dass du Formularfelder hast, in denen Änderungen gemacht werden. In diesen kannst du doch einfach mit dem "onChange" Event die Änderung abfragen und in einer "globalen" Variablen z.B. in deiner Frameindexseite abspeichern, was dann ungefähr so aussehen könnte:
<input type="text" onChange="top.frames.document.saved=false">
wäre ne alternative
am liebsten wäre mir jedoch, wenn ich zum beispiel im body angeben kann onunload="userauthenticationforchange()"
und denn halt in der funktion confirm("blabla wirklich?"); endgültig zu bestätigen, ob die seite gewechselt werden soll
kann mir vorstellen, dass das nich möglich is, wär aber schön
anregungen werden gerne entgegengenommen
gruß
Gruß,
Benne
Sup!
Danke für die Blumen!
Du hast mein Posting offensichtlich nicht verstanden: Die implizite Botschaft war: Ich finde Deine Frage unverständlich bzw. unterspezifiziert bzw. mangelnd erläutert. Da du die Frage natürlich kein bisschen verändert hast, bevor Du sie zum zweitenmal ins Forum geworfen hast, kann ich sie auch diesmal nicht beantworten.
Gruesse,
Bio
Hallo Sorgenkind,
Mach in den Navigationsframe ein Javascript-Bereich
<script language="JavaScript">
var dirty=false;
function SetDirty(b)
{ dirty=b;
}
function LinkClick()
{ if (! dirty) return(true);
if (confirm("Die Bearbeitung des aktuellen Formulars wird hiermit abgebrochen.")) return(true);
return(false);
}
Bei allen Links im Navi-Frame machst Du
<a href="xyz.html" onClick="LinkClick()">xyz</a>
Jetzt zum Frame mit einem Formular:
Mach eine JavaScript-Funktion
SetDirty(b)
{ parent.frames[0].SetDirty(b)
}
Jedes editierbare Formelement machst Du so ähnlich wie das hier:
<input name="blabla" onChange="SetDirty(true)">
Dann gibts da sicher noch einen Submit-Button. Nach dem Check, ob alle Eingaben korrekt sind und vor dem Abschicken machst Du noch
SetDirty(false);
Damit dürfte es gehen.
MfG. Lutz T.