Prompt - was tut Abbrechen?

eryakaas

Mitglied
Hallo,

ich habe eine Passwortabfrage so wie sie hier hier (in con-f-uses Antwort) vorgeschlagen wurde. Sie tut auch schon, was sie soll. Nur wenn man Abbrechen klickt, wird als Wert offensichtlich 'null' eingetragen, was ein "Seite nicht gefunden" erzeugt. Es soll einfach nix tun, Box zu, bisherige Seite zu sehen, fertig. Prompt-Beispiele an anderen Stellen arbeiten mit if und else, aber das nützt mir doch hier nichts, oder?

Beim Schreiben ist mir eben ein Trick eingefallen: ich bau wirklich eine null.htm mit 'ner Umleitung auf die Seite, wo ich herkomme. Aber: Geht's auch ohne Trick?

Schönen Dank
eryakaas
 
Zuletzt bearbeitet:
Natürlich hilft dir eine if-Abfrage:
HTML:
 <script type="text/javascript"><!--
 	function Passwortabfrage() {
 		var Eingabe = window.prompt("Bitte geben Sie das Passwort ein","");
 		if (!!Eingabe) document.location.href = Eingabe + ".htm";
 	}
 // --></script>
 
Oh danke, das ging fix. Ein paar Rückfragen:

Was ist !! ? Bei Meister Münz nix gefunden, nur ! und ||

Verrücktes Ergebnis:
Ich habe 2 solche Links (und damit 2 Fkt.) in einer Datei. Die Ausgangsdatei, also wo das Script und die Links sind, heißt index.html. Der erste Link führt auf eine .htm, dort funktioniert es, sogar ohne if-Abfrage! Der zweite führt auf eine.pdf, da funktioniert es auch, öffnet aber ein neues Fenster mit dem Inhalt der index.htm. (Ich red immer vom Abbrechen!)
Wieso geht das neue Fenster auf? Kann ich irgendwo sowas wie ein target angeben?

dankeschön
 
Wäre gut, wenn du mal den entsprechenden Link geben könntest, damit ich mir das selber anschauen kann. Eigentlich ist das Target bei location.href immer das aktuelle Fenster - du bist sicher, dass da nichts von window.open() steht?

Was das doppelte Ausrufezeichen angeht so ist das die Verneiung der Verneiung und hat den Sinn, dass das Ergebnis vom Variablentyp Boolean ist, was für die if-Abfrage wichtig ist - sonst müsste ich schreiben wie if(Ergebnis == null) und da ist die Methode mit den zwei !! einfach die kürzere.
 
Zuletzt bearbeitet:
Klar. Hatte es erstmal nur lokal, aber bitte: utes-pages Script ist direkt in der Datei, kannst reingucken.

Achso: Der Link VBA-Buch macht den Fehler, der für MS Project funktioniert. die andern sind "normale".
 
Zuletzt bearbeitet:
HTML:
<a href="#" onClick="Passw1()">MS-Project-Tutorial</a>
    
    <a href="bew2005/docs/grundkurs_spm.pdf" onClick="Passw2()" target="_blank">Leseprobe</a>
    
 <a href="#" onClick="Passw2()" target="_blank">VBA-Buch</a>
So und jetzt denk mal scharf nach, was man villeicht aus dem zweiten Link komplett rausnehmen sollte, wenn man die Datei schützen will und was bei den letzten beiden links noch anders ist, als beim ersten. Was könnte die von dir beschriebenen Probleme verursachen?

Du komsmt nicht drauf? Problem beim zweiten Link: Das pdf wird einfach geöffnet (in einem neuen Fenster) wenn man auf Abbrechen klickt. Grund: Das Script wird normal ausgeführt und macht gar nichts, was es auch soll, dann wird aber der href im zweiten Link geöffnet und der zeigt nunmal auf's pdf-Dokument. Das target="_blank" sorgt für das neue Fenster. Problem beim dritten Link: Das alte Dokument öffnet sich im neuen Fenster. Grund: Siehe Grund beim zweiten Link.

Außerdem schadet ein ";return false" am Ende von onclick-Events nie...

So sähe also ein richter Link aus:
HTML:
<a href="#" onClick="Passw1();return false">Richtiger Link</a>
Und das nächste mal kommst du vielleciht selber drauf. Hätte man da wirklich auch schon... :rolleyes:
 
Sorry, na hab ich ja nen Mist gebaut. Der 2. Link ist frei zugänglich, ohne PW. Da hatte ich nur die Zeile verwechselt. Genauso das target im dritten ... der Link war auch erst frei, das target ist der Rest davon.

Tut mir leid, hast mir aber sehr geholfen (v.a. mit dem ersten Tipp). Fehler suchen sollte man selbst, ich gebs zu. Bitte nicht so doll ärgern :)

Gute Nacht
eryakaas, bzw. Ute
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück