JScript Variablen-Problem
RSOperator
Ich weis nicht, ob sich hier viele mit JScript auskennen.
Ich habe mich damit auseinander gesetzt und es kann JavaScript sogar das Wasser reichen. Aber nun zu meinem Problem:
Ich habe eine Variable als document.all.Text1.innerHTML gespeist. Diese Verweist auf einen <SPAN>.
Leider funktioniert die if-Anwendung nicht!
Wenn auf den <SPAN> geklickt wird (onClick="Auswahl1 ()"), wird eine Funktion abgerufen, die feststellt, was im <SPAN> geschrieben steht.
if ( modus == "Willkommen" )
{
...
}
wenn ich jetzt aber eine weitere if-Anwendung dran setze (in der selben function) wird trotzdem der Code von modus == "Willkommen" ausgeführt, auch wenn modus jetzt (z.B.) "Grundkenntnisse" ist.
Also, falls es da noch eine Seele gibt, die sich damit auskennt,
BITTE MELDEN!!!! ;-(
RS
Hallo
Ich weis nicht, ob sich hier viele mit JScript auskennen.
Das ist ja nichts anderes als JavaScript plus diverse MS-Erweiterungen.
if ( modus == "Willkommen" )
{
...
}
wenn ich jetzt aber eine weitere if-Anwendung dran setze (in der selben function) wird trotzdem der Code von modus == "Willkommen" ausgeführt, auch wenn modus jetzt (z.B.) "Grundkenntnisse" ist.
Moeglicherweise ist das wieder eines dieser Laufzeitprobleme, die der MSIE 4 mit manchen DHTML-Geschichten hat. Irgendwo rufst Du die Funktion ja auf. Setz diesen Aufruf doch mal in einen Timeout, der eine Sekunde lang zoegert.
Also nicht:
Funktion()
sondern:
window.setTimeout("Funktion()",1000)
viele Gruesse
Stefan Muenz
Hallo,
Ich weis nicht, ob sich hier viele mit JScript auskennen.
Das ist ja nichts anderes als JavaScript plus diverse MS-Erweiterungen.
Na ja. Das, was so landlaeufig immer unter JavaScript zusammengefasst wird, ist eigentlich die Sprache selbst (JavaScript oder JScript, basierend auf ECMA-Script) plus Objektmodell des jeweiligen Browsers.
Die Grenzen ganz genau zu ziehen, wuerde ziemlich akademisch werden, wenn man es denn schafft, zumal die Browseranbieter in ihren Dokus das auch nicht wirklich tun. Wenn man so will, kann man bei MS eher so eine Trennung beobachten als bei Netscape. Dort findent man das Objektmodell in der Hauptsache unter DHTML. In der Praxis hilft das alles aber nicht sehr viel weiter.
Wir alle hier schreiben keine wissenschaftlichen Abhandlungen dazu, sondern wenden an.
So, aber jetzt zur eigentlichen Frage.
Ich habe die gestern auch gelesen, muss aber zugeben, ich habe sie einfach nicht begriffen. :-(
wenn man die
if ( modus == "Willkommen" )
{
...
}
wenn ich jetzt aber eine weitere if-Anwendung dran setze (in der selben function) wird trotzdem der Code von modus == "Willkommen" ausgeführt, auch wenn modus jetzt (z.B.) "Grundkenntnisse" ist.
Was ist eine weitere if-Anweisung?
Wie sieht die aus? Wo steht sie?
Wann wird sie abgearbeitet?
Wenn das tatsaechlich zwei separate Dinge sind, die zu unterschiedlichen Zeitpunkten dran sind, dann koennte die Antowrt von Stefan die richtige Richtung haben.
Moeglicherweise ist das wieder eines dieser Laufzeitprobleme, die der MSIE 4 mit manchen DHTML-Geschichten hat. Irgendwo rufst Du die Funktion ja auf. Setz diesen Aufruf doch mal in einen Timeout, der eine Sekunde lang zoegert.
Also nicht:
Funktion()
sondern:
window.setTimeout("Funktion()",1000)
Aber wenn das gar nicht so ist - und irgendwie habe ich den Eindruck, es ist was anderes gemeint - dann muss die Krux woanders liegen.
Sag doch nochmal, was Du genau tust, was genau passiert oder nicht passiert.
Christine
Zunächsteinmal eine Entwarnung:
Merkwürdigerweise funktioniert es jetzt :-\
Womöglich liegt es an den CSS-Veränderungen (was ich aber nicht glaube)
Aber hier der Quelltext, damit ihr versteht, was damals falsch war:
<HTML>
<HEAD>
</HEAD>
<BODY>
<SPAN id="Link1" onClick="Klick_1 ()">Hier ist Link 1!</SPAN><BR>
<SPAN id="Link2" onClick="Klick_2 ()">Hier ist Link 2!</SPAN><BR>
<SCRIPT language="JScript">
function Klick_1()
{
var modus = document.all.Link1.innerHTML
if ( modus == "Hier ist Link 1!" )
{
document.all.Link1.innerHTML = "Hier ist immernoch Link 1!";
document.all.Link2.innerHTML = "Hier ist aber jetzt Link 3!";
}
if ( modus == "Hier ist immernoch Link 1!" )
{
document.all.Link1.innerHTML = "Hier ist Link 1!";
document.all.Link2.innerHTML = "Hier ist Link 2!";
}
if ( modus == "Hier ist jetzt Link 2" )
{
document.all.Link1.innerHTML = "Hier ist Link 1!";
document.all.Link2.innerHTML = "Hier ist Link 2!";
}
}
function Klick_2()
{
var modus = document.all.Link2.innerHTML
if ( modus == "Hier ist Link 2!" )
{
document.all.Link1.innerHTML = "Hier ist jetzt Link 2";
document.all.Link2.innerHTML = "Und hier ist jetzt Link 4";
}
if ( modus == "Und hier ist jetzt Link 4" )
{
document.all.Link2.innerHTML = "Sie haben auf Link 4 gedrückt!";
}
if ( modus == "Hier ist aber jetzt Link 3!" )
{
document.all.Link2.innerHTML = "Sie haben auf Link 3 gedrückt!";
}
}
</SCRIPT>
</BODY>
</HTML>