Hilfe mit Auslagerung einer Funktion und deren Auslösung
Roger
- javascript
Moin!
Habe gerade leichte Probleme mit der Auslagerung einer Funktion und deren Aufruf. Eigentlich soll folgendes passieren:
Beim Klick auf den Button soll eine Funktion ausgelöst werden, die durch ein prompt() den Benutzer nach der Eingabe eines vorher (in einer Variable) definierten Passworts fragt.
Diese Funktion soll über eine ausgelagerte *.js Datei in die Seite integriert werden.
Ist das Passwort
* korrekt, soll der Benutzer zur Eingabe seines Names aufgefordert werden und danach in einem alert() persönlich (mit Namen) begrüßt.
* falsch, soll ein entsprechender alert() darauf hinweisen.
Mir ist klar das dies natürlich kein wirklicher Passwortschutz geht. Das ist vielmehr nur eine Übungsaufgabe zum Auslagern von Funktionen. So sieht das ganze bisher aus, funktioniert aber absolut nicht:
<?xml version="1.0" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Passwortschutz</title>
<script src="http://www.meineurl.de/funktion.js" type="text/javascript"></script>
</head>
<body>
<button name="Klickmich" type="button" value="passwort" onclick="Passwort()"
<img src="http://www.d3k.de/garbage/29/295989/5973498.jpg" width="150" height="150" alt="F95 Logo"></img><br/>
<b>Was passiert wohl?</b>
</button>
</body>
</html>
function Passwort( zeichenkette ){
if(zeichenkette==fortuna95){
var sName=prompt("Wie ist Ihr Name?");
alert("Guten Tag " + sName + "!");
}
else{
alert("Das von Ihnen eingegebene Passwort war nicht korrekt, Zugriff verweigert!");
}
}
function eingabe(){
var meinpw = prompt("Geben Sie das Passwort ein!");
Passwort(meinPW);
}
Danke für die Hilfe!
Hallo Heike Mustermann aus M,
So sieht das ganze bisher aus, funktioniert aber absolut nicht:
"funktioniert nicht" funktioniert noch viel weniger. Wie lautet Deine Fehlerbeschreibung?
<?xml version="1.0" ?>
Gibt es eigentlich einen speziellen Grund, dass Du diverse IE-Versionen in den Quirks-Mode schickst?
<script src="http://www.meineurl.de/funktion.js" type="text/javascript"></script>
Von dieser URL kenne ich übrigens Deinen Namen und Deine Herkunft.
Cheatah
Hi Cheatah.
<script src="http://www.meineurl.de/funktion.js" type="text/javascript"></script>Von dieser URL kenne ich übrigens Deinen Namen und Deine Herkunft.
Hmmm. Ich konnte unter der Domain nichts derartiges finden. Was hast Du denn da fuer eine Quelle gefunden, die Dir diese Informationen und auch das Recht gibt, sie hier zu veroeffentlichen?
Viele Gruesse,
der Bademeister
Hallo,
if(zeichenkette=="fortuna95")
machs schritt für schritt. erst testen mit alert, ob du die funktion auslöst, dann den abgleich, dann das auslagern zum schluss. und nimm "example.com" für beispiele. beim bild hast du deine echte url nicht maskiert (;-).
Gruß
jobo
funktioniert aber absolut nicht:
"Funktioniert nicht" funktioniert nicht als Fehlerbeschreibung. Nutze die Fehlerkonsole Deines Browser. Empfehlung: nutze Firefox und dessen Fehlerkonsole.
alert("Guten Tag " + sName + "!");
Aus dieser Zeile könnte man folgern, Dir ist der Unterschied zwischen Zeichenketten und Variablen bewusst.
if(zeichenkette==fortuna95){
An dieser Zeile erkennt man, dass dem nicht so ist.
var meinpw = prompt("Geben Sie das Passwort ein!");
Warnung! Arbeite _nicht_ mit prompt!
Ich teste hier meinen Kram immer in diversen Browsern. Bzgl. IE fange ich mit IE6 an und gehe danach virtualisiert zu IE7 und IE8 über. Da durfte ich dann jüngst festellen, das Microsoft mit IE7 die Verwendung von prompt deaktiviert hat, warum auch immer....
Hi,
Ich teste hier meinen Kram immer in diversen Browsern. Bzgl. IE fange ich mit IE6 an und gehe danach virtualisiert zu IE7 und IE8 über. Da durfte ich dann jüngst festellen, das Microsoft mit IE7 die Verwendung von prompt deaktiviert hat, warum auch immer....
das kann ich hier nicht bestätigen. Kannst Du dazu Details nennen?
Cheatah
das kann ich hier nicht bestätigen. Kannst Du dazu Details nennen?
Es verhielt sich exakt wie hier beschrieben:
http://www.hunlock.com/blogs/Working_around_IE7s_prompt_bug,_er_feature
Hi,
das kann ich hier nicht bestätigen. Kannst Du dazu Details nennen?
Es verhielt sich exakt wie hier beschrieben:
danke, eine hervorragende Quelle. Jetzt muss ich herausfinden, warum mein Test hierzu negativ verlief.
Cheatah
Mahlzeit Roger,
Beim Klick auf den Button soll eine Funktion ausgelöst werden, die durch ein prompt() den Benutzer nach der Eingabe eines vorher (in einer Variable) definierten Passworts fragt.
Du meinst Deine Funktion "eingabe()"? Dann sag das doch bitte auch ...
So sieht das ganze bisher aus, funktioniert aber absolut nicht:
Dazu hatte Cheatah Dir ja bereits etwas gesagt.
<script src="http://www.meineurl.de/funktion.js" type="text/javascript"></script>
Ich vermute mal, das ist die o.g. externe JS-Datei, deren Inhalt Du weiter unten auch gepostet hast?
<button name="Klickmich" type="button" value="passwort" onclick="Passwort()"
Bei Klick auf den Button wird die Funktion "Passwort()" aufgerufen - das von Dir wahrscheinlich gewollte Verhalten *kann* *niemals* auftreten, da die Funktion "eingabe()" nirgendwo aufgerufen wird.
function Passwort( zeichenkette ){
Du gibst hier an, dass die Funktion (mindestens) einen Parameter erwartet - übergibst ihr aber beim Aufruf durch das "onclick" gar keinen ...
function eingabe(){
var meinpw = prompt("Geben Sie das Passwort ein!");
Passwort(meinPW);
Javascript ist case-sensitiv, d.h. Klein- und Großschreibung spielt eine nicht unerhebliche Rolle.
MfG,
EKKi