HTML: Merkwürdiges target - Verhalten. - Seite 2

Seite 2 von 2 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/html_merkwuerdiges_target_verhalten_97044/page_2 - zur Vollversion wechseln!


grOOvekill@ schrieb am 29.10.2003 um 10:37

Yep, so funktioniert es auch! Die Varibale name darf also nicht global sein, oder wie? Find' ich echt krass, daß sich sowas auf das gesamte Frameset auswirkt! :confused:

Code: PHP
function Begruessung(){
var name = GetCookie("name");
if (name != "") document.write("Hallo, " + name + "! Geben Sie Ihre Daten erneut ein:"); 
else document.write("Geben Sie Ihre Daten ein:");
}


Rektal schrieb am 29.10.2003 um 10:53

Wenn du vor "var name" alert(name) einbaust, was sagt dir der Browser? Hast du die moeglichkeit das zu pruefen?


grOOvekill@ schrieb am 29.10.2003 um 10:56

Meinst du so?

Code: PHP
function Begruessung(){
alert(name);
var name = GetCookie("name");	  
if (name != "") document.write("Hallo, " + name + "! Geben Sie Ihre Daten erneut ein:"); 
else document.write("Geben Sie Ihre Daten ein:");
}

Da poppt das Alert Ding auf und drin steht 'undefined'. Und wenn ich es nach der var name Zeile einfüge poppt die Alert Meldung ohne Inhalt auf.


Rektal schrieb am 29.10.2003 um 11:04

Ok; anders: Kannst du, ohne "var name" vor und nach "name = GetCookie("name");" alert(window.name) machen? Ich vermute er setzt diese Variable was ev. die Dinge erklaeren _koennte_.


grOOvekill@ schrieb am 29.10.2003 um 11:10

Aaah, verstehe. Was sagst'n des net gleich? :D
Also das Popup vor GetCookie sagt 'content' und das danach ist einfach leer. War das die Antwort, die du gesucht hast?


Rektal schrieb am 29.10.2003 um 11:16

So in etwa, ja.

Dadurch ist alles klar und es liegt ein klassischer Fehler zwischen Sessel und Tastatur vor.

Nicht deklarierte Javascript-Variablen werden automatisch immer als global und somit als Teil des window-Objektes angesehen. Bestehende Variablen (window-Properties) werden einfach ueberschrieben; und genau das ist hier passiert.

Das laxe Design von Javascript laesst solche Fehler leicht zu; desshalb Variablen in Javascript immer mit var vorher deklarieren. Nur wer weiss was er tut kanns weglassen; was hier aber nicht der Fall war :)


Frys_Assassin schrieb am 29.10.2003 um 17:52

bussi @ grOOvekill@ !
soweit dass ich die begrüßung als fehler isoliert hab war ich eh schon, hätt jetzt am abend begonnen variblen umzubennen weil ich mir sowas in der art dachte. aber die arbeit hast du mir jetzt abgenommen :cool:

wah, im endeffekt hat ja nur ein "var " gefehlt. herzlichen dank.

aber ich finds funny dass sich meine 2 informatiklehrer noch weniger ausgekannt haben als ich :D


Zitat von Rektal
So in etwa, ja.

Dadurch ist alles klar und es liegt ein klassischer Fehler zwischen Sessel und Tastatur vor.

Nicht deklarierte Javascript-Variablen werden automatisch immer als global und somit als Teil des window-Objektes angesehen. Bestehende Variablen (window-Properties) werden einfach ueberschrieben; und genau das ist hier passiert.

Das laxe Design von Javascript laesst solche Fehler leicht zu; desshalb Variablen in Javascript immer mit var vorher deklarieren. Nur wer weiss was er tut kanns weglassen; was hier aber nicht der Fall war :)

danke für die rosen, aber pebkac is mir doch ein bisserl zu hart ;)
mir war das verhalten so merkwürdig dass ich auf den ersten blick net wirklich einen fehler lokalisieren konnte.
aber jetzt is alles klar.

mah, diese wischiwaschi sprache von JScript... hoffentlich mach mal bald was gscheiteres :)

trotzdem danke an alle :ghug: (verdammt geht net ;))


Rektal schrieb am 29.10.2003 um 18:15

Kannst deine Lehrer zwecks Aufklaerung ja mal vorbeischicken :D




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025