Netscape Navigator 6.2 ignoriert Javascripte
Sasch
- javascript
0 Reinhard Doberstein0 Sasch
0 Michael Schröpl0 kirashet0 kirashet
Hi Ihrs,
ich hab mir zu Testzwecken mal den Netscape Navigator 6.2 auf meinen Rechner "gebastelt". Nun wollte ich eine Seite mit Javascript auf Funktionalität für diesen Browser testen.
Leider ignoriert NN 6.2 das Script gnadenlos.
HAt zufällig jemand nen Plan warum das so ist? Ich hab in in Bearbeiten - Einstellungen - Erweitert alle Javascript-Optionen eingeschaltet.
Danke für die Hilfe!!!
Gruß Sasch
PS:Der Quellcode sieht ungefähr so aus (eins von mehreren Beispielen):
<html>
<head>
<title>User anlegen</title>
<script language="JavaScript">
function ClearUserList()
{
for(var k = 0; k < document.addUser.userdstlist.length; k++)
{if(this.addUser.userdstlist.options[k].selected == true)
{this.addUser.userdstlist.options[k].selectedIndex = false;
this.addUser.userdstlist.options.value = null;
}
}
}
function ClearUserInput()
{this.addUser.userdstinput.value = "";
}
</script>
</head>
<body>
...
<table border="0" cellspacing="0" width="100%">
<tr><td width="150">
<select type="Text" name="userdstlist" value="-"align="left" size="5" tabindex="8" onclick="ClearUserInput()">
<option value=->-
<option value=01015>01015
<option value=02011>02011
<option value=02089>02089
<option value=02119>02119
<option value=02216>02216
...
</select></td>
<td align="right"><font face='Arial, Helvetica, sans-serif' color='#000000' size='-1'>neue Dienststelle:</td>
<td align="right" width="85"><input type="Text" name="userdstinput" align="LEFT" size="10" maxlength="10" tabindex="9" onKeypress="ClearUserList()"></font></td>
</tr>
</table>
...
</body>
</html>
Hi Ihrs,
ich hab mir zu Testzwecken mal den Netscape Navigator 6.2 auf meinen Rechner "gebastelt". Nun wollte ich eine Seite mit Javascript auf Funktionalität für diesen Browser testen.
Leider ignoriert NN 6.2 das Script gnadenlos.
HAt zufällig jemand nen Plan warum das so ist?
Über Aufgaben->Extras->JavaScript-Konsole kannst du dir die Fehlermeldungen anzeigen lassen. Vielleicht findest du da was.
By
Reinhard
Moin Reinhard,
Über Aufgaben->Extras->JavaScript-Konsole kannst du dir die Fehlermeldungen anzeigen lassen. Vielleicht findest du da was.
Ich hab da mal Deinen Rat befolgt und kriege jetzt die Fehlermeldung:
Fehler: this.editUser has no properties
Das verstehe ich nich! Wieso? Ich brauche doch ab er auch gar nicht die Eigenschaften des Dokumentes, sondern die Eigenschaften eines Objektes des Dokuments, oder bin ich jetzt auf dem Holzweg?
Und noch was verwirrt mich von Mal zu Mal mehr: Auf dem IE 5.5 laufen die Scripte problemlos!
Hast Du (oder jemand anderes) evtl. noch ne Ahnung, wieso diese Meldung kommt, was ich dagegen tun kann und warum IE die gleichen Scripte fehlerlos akzeptiert?
Gruß Sasch
Ich hab da mal Deinen Rat befolgt und kriege jetzt die Fehlermeldung:
Fehler: this.editUser has no properties
Das verstehe ich nich! Wieso? Ich brauche doch ab er auch gar nicht die Eigenschaften des Dokumentes,
Der Browser 'hangelt' sich durch die Objekthierarchie. Wenn er editUser nicht findet kann er natürlich auch auf kein Objekt darunter zugreifen.
In deinem Code finde ich übrigens nirgends "editUser". Also entweder hast du das weggekürzt, oder das ganze inzwischen umgebaut. Auch fehlt mir das "<form ...>".
Im Grunde ist es die Frage was 'this' ist. In der Self heist es dazu "aktuelles Objekt". Das könnte aber auch der Button sein in demn die Funktion aufgerufen wird. Wenn es nur ein Form im Dokument gibt kannst du den 'pfad' ja absolut angeben. Also "document.addUser.uder..." (wobei addUser ja wohl der Name der Form ist).
sondern die Eigenschaften eines Objektes des Dokuments, oder bin ich jetzt auf dem Holzweg?
Und noch was verwirrt mich von Mal zu Mal mehr: Auf dem IE 5.5 laufen die Scripte problemlos!
Naja, der IE frisst einfach alles.
Hast Du (oder jemand anderes) evtl. noch ne Ahnung, wieso diese Meldung kommt, was ich dagegen tun kann und warum IE die gleichen Scripte fehlerlos akzeptiert?
Im Zweifelsfalle setzt das ganze mal ins Netz, damit man sich es life angucken kann.
By
Reinhard
Hi,
In deinem Code finde ich übrigens nirgends "editUser". Also entweder hast du das weggekürzt, oder das ganze inzwischen umgebaut. Auch fehlt mir das "<form ...>".
Hatte ich weggekürzt. ;-)
So ich hab das ganze Script noch mal komplett, so wie´s im IE läuft. Das Problem, das ich da im Moment noch sehe ist, dass der Wert der Auswahl (document.editUser.userdstlist.value) nicht gelöscht wird und der "selectedIndex" nicht auf falsch gesetzt wird. Ich kann mir das allerdings so richtig warum, denn ich konnte bei nem Vergleich mit SelfHTML keine Probleme feststellen.
Wie ich mich kenne hab ich aber wieder irgendwo ne Kleinigkeit übersehen.
Vielleicht kannst Du mir ja verraten an welcher Stelle sich diese Kleinigkeit versteckt!?
Danke,
Gruß Sasch
Hier noch mal der komplette Code (in der Hoffnung, dass es kein Kot ist ;-):
<html>
<head>
<meta HTTP-EQUIV="expires" CONTENT="0">
<title>User speichern</title>
<script language="JavaScript">
function clearUserList()
{for(var k = 0; k < document.editUser.userdstlist.length; k++)
{if(document.editUser.userdstlist.options[k].selected == true)
{document.editUser.userdstlist.options[k].selectedIndex = false;
document.editUser.userdstlist.value = null;
}
}
}
function clearUserInput()
{document.editUser.userdstinput.value = "";
}
</script>
</head>
<body>
<form name="editUser">
<table>
<tr>
<td>Dienststelle:</td>
<td>
<select name="userdstlist" onclick="clearUserInput()" type="Text" size="5" style="width='152'" value="-">
<option value=- selected>-
<option value=01015>01015
<option value=02011>02011
<option value=02089>02089
<option value=02119>02119
<option value=02216>02216
<option value=95737>95737
<option value=95885>95885
</select>
</td>
<td>neue Dienststelle:</td>
<td><input name="userdstinput" onKeypress="clearUserList()" type="Text"></td>
</tr>
</table>
</form>
</body>
</html>
Hi Ihrs,
Hi "Duse",
Leider ignoriert NN 6.2 das Script gnadenlos.
das bezweifele ich stark.
Mach mal ein paar "alert"s in Deine Funktionen hinein, damit Du siehst, ob sie aufgerufen werden oder nicht.
Ob sie dann das tun, was Du willst, ist natürlich eine andere Sache.
Viele Grüße
Michael
Versuc mal folgendes, hatte ähnliche probleme mo dem sch.. NS:
<html>
<head>
<title>User anlegen</title>
<script language="JavaScript">
function ClearUserList()
{
for(var k = 0; k < document.addUser.userdstlist.length; k++)
{if(DOCUMENT.F1.userdstlist.options[k].selected == true)
{DOCUMENT.F1.userdstlist.options[k].selectedIndex = false;
DOCUMENT.F1.userdstlist.options.value = null;
}
}
}
function ClearUserInput()
{DOCUMENT.F1.userdstinput.value = "";
}
</script>
</head>
<body>
<form action="" name=F1> <- NEU
<table border="0" cellspacing="0" width="100%">
<tr><td width="150">
<select type="Text" name="userdstlist" value="-"align="left" size="5" tabindex="8" onclick="ClearUserInput()">
<option value=->-
<option value=01015>01015
<option value=02011>02011
<option value=02089>02089
<option value=02119>02119
<option value=02216>02216
...
</select></td>
<td align="right"><font face='Arial, Helvetica, sans-serif' color='#000000' size='-1'>neue Dienststelle:</td>
<td align="right" width="85"><input type="Text" name="userdstinput" align="LEFT" size="10" maxlength="10" tabindex="9" onKeypress="ClearUserList()"></font></td>
</tr>
</table>
</form> <- NEU
</body>
</html>
Bei HTML ist hierarchisches Denken angesagt. Wenn du ein Objekt ansprechen willst, erst das DOCUMETNT, dann das FORMULAR (<form>), danach das Objekt. IE schluckt alles, NS ist dagegen stark typisiert.
gruss
ali
Hab's grad unter NS 6 ausprobiert, funktioniert doch.