Supportnet / Forum / Skripte(PHP,ASP,Perl...)
Verweis nur anzeigen wenn Variable true ist
Frage
Hallo
Ich möchte das ein Verweis nur angezeigt wird, wenn die entsprechende Variable true ist. Ansonsten soll ein alternativer Text angezeigt werden. Der Grund ist der das die Seite zum speichern nur im IE funktioniert und so nur dort aufgerufen werden soll.
Hab folgenden Code erstellt
[code]<html>
<head>
<title>Verweise</title>
<style type="text/css">@import "style.css";</style>
</head>
<body>
<script language="JavaScript" type="text/javascript">
<!--
function chkVerweis(){
var verwSpeichern="";
if(parent.frames.IE4==true)
verwSpeichern = "<li><a href="speichern.html" target="HauptFenster"></a></li>";
else
verwSpeichern="<li>Speichern nicht möglich</li>";
document.getElementById("speichern").innerHTML=verwSpeichern;
}
chkVerweis();
--></script>
<div id="menu">
<ul>
<!-- mehre Verweise-->
<li><a href="generieren.html" target="HauptFenster">Arrays generieren</a></li>
<div id="speichern"></div>
</ul>
</div>
</body>
</html>
[/code]
bekomme immer eine Felermeldung das ein Semikolon in der Funktion fehlt. Weiß aber nicht wo.
Könnte mir jemand behilflich sein? Wäre sehr dankbar.
Jessica
Antwort 1 von heinsch
es fehlt nicht nur ein semikolon:
function chkVerweis(){
var verwSpeichern="";
if(parent.frames.IE4==true){
verwSpeichern = "<li><a href="speichern.html";
target="HauptFenster"></a></li>";
}
else{
verwSpeichern="<li>Speichern nicht möglich</li>";
document.getElementById("speichern").innerHTML=verwSpeichern;
}
}
function chkVerweis(){
var verwSpeichern="";
if(parent.frames.IE4==true){
verwSpeichern = "<li><a href="speichern.html";
target="HauptFenster"></a></li>";
}
else{
verwSpeichern="<li>Speichern nicht möglich</li>";
document.getElementById("speichern").innerHTML=verwSpeichern;
}
}
Antwort 2 von heinsch
sorry, ich verbessere mich (hoffentlich ;) ):
function chkVerweis(){
var verwSpeichern="";
if(parent.frames.IE4==true){
verwSpeichern = "<li><a href='speichern.html'
target='HauptFenster'></a></li>";
}
else{
verwSpeichern="<li>Speichern nicht möglich</li>";
document.getElementById("speichern").innerHTML=verwSpeichern;
}
}
andere mögliche schreibweise wäre:
function chkVerweis(){
var verwSpeichern="";
if(parent.frames.IE4==true){
verwSpeichern = "<li><a href=\"speichern.html\"
target=\"HauptFenster\"></a></li>";
}
else{
verwSpeichern="<li>Speichern nicht möglich</li>";
document.getElementById("speichern").innerHTML=verwSpeichern;
}
}
das problem sind die anführungszeichen innerhalb der zeichenkette. anführungszeichen markieren den anfang und das ende einer zeichenkette. wenn js innerhalb einer solchen auf ein anführungszeichen trifft, "denkt" es, hier wäre die zeichenkette zu ende. also entweder " durch ' ersetzen, oder die anführungszeichen mit einem backslash "maskieren" \". dann weiss js, dass du dieses anführungszeichen nur als einfaches zeichen meinst und nicht als zeichenkettenbegrenzer.
function chkVerweis(){
var verwSpeichern="";
if(parent.frames.IE4==true){
verwSpeichern = "<li><a href='speichern.html'
target='HauptFenster'></a></li>";
}
else{
verwSpeichern="<li>Speichern nicht möglich</li>";
document.getElementById("speichern").innerHTML=verwSpeichern;
}
}
andere mögliche schreibweise wäre:
function chkVerweis(){
var verwSpeichern="";
if(parent.frames.IE4==true){
verwSpeichern = "<li><a href=\"speichern.html\"
target=\"HauptFenster\"></a></li>";
}
else{
verwSpeichern="<li>Speichern nicht möglich</li>";
document.getElementById("speichern").innerHTML=verwSpeichern;
}
}
das problem sind die anführungszeichen innerhalb der zeichenkette. anführungszeichen markieren den anfang und das ende einer zeichenkette. wenn js innerhalb einer solchen auf ein anführungszeichen trifft, "denkt" es, hier wäre die zeichenkette zu ende. also entweder " durch ' ersetzen, oder die anführungszeichen mit einem backslash "maskieren" \". dann weiss js, dass du dieses anführungszeichen nur als einfaches zeichen meinst und nicht als zeichenkettenbegrenzer.
Antwort 3 von Jessica
Hallo
Die Fehlermeldung mit dem Semikolon hat sich erledit mit deiner Hilfe.
Bekomme jetzt die Meldung das document.GetElementById NULL oder kein Objekt ist.
Hab den Code folgender massen geändert und erhalte jetzt die Meldung das ein unerwarteter Laufzeitfehler bei document.GetElementById aufgetretten ist.
Hof ihr könnt mir nochmals helfen.
Jessica
Die Fehlermeldung mit dem Semikolon hat sich erledit mit deiner Hilfe.
Bekomme jetzt die Meldung das document.GetElementById NULL oder kein Objekt ist.
Hab den Code folgender massen geändert und erhalte jetzt die Meldung das ein unerwarteter Laufzeitfehler bei document.GetElementById aufgetretten ist.
<html>
<head>
<title>Verweise</title>
<style type="text/css">@import "style.css";</style>
<script language="JavaScript" type="text/javascript">
<!--
function chkVerweis(){
var verwSpeichern="";
if(parent.frames.IE4==true){
verwSpeichern = "<li><a href='speichern.html' target='HauptFenster'></a></li>";
}
else{
verwSpeichern="<li>Speichern nicht möglich</li>";
}
document.getElementById("speichern").innerHTML=verwSpeichern;
}
--></script>
</head>
<body>
<div id="menu">
<ul>
<li>Anzeige der Datein</li>
<li><a name="lager" href="lager.html" target="HauptFenster">Lager</a></li>
<li><a name="maschine" href="maschine.html" target="HauptFenster">Maschine</a></li>
<li><a name="werkstueck" href="werkstueck.html" target="HauptFenster">Werkstueck</a></li>
<li><a name="vorgang" href="vorgang.html" target="HauptFenster">Vorgang</a></li>
<li><a name="bearbeitung" href="bearbeitung.html" target="HauptFenster">Bearbeitung</a></li>
<li><a name="lagerung" href="lagerung.html" target="HauptFenster">Lagerung</a></li>
<li><a name="transport" href="transport.html" target="HauptFenster">Transport</a></li>
<li><a name="prozess" href="prozess.html" target="HauptFenster">Prozess</a></li>
<li>Funktionen zur Verarbeitung</li>
<li><a href="laden.html" target="HauptFenster">Laden</a></li>
<li><a href="speichern.html" target="HauptFenster">Speichern</a></li>
<li><a href="pruefen.html" target="HauptFenster">Prüfen</a></li>
<li><a href="generieren.html" target="HauptFenster">Arrays generieren</a></li>
<div id="speichern"></div>
</ul>
</div>
<script language="JavaScript" type="text/javascript">
<!--
chkVerweis();
--></script>
</body>
</html>
Hof ihr könnt mir nochmals helfen.
Jessica
Antwort 4 von jessica
Hallo
Hab den Fehelr gefunden.
Muss verwSpeichern mit "<ul>" belegen und am Ende "</ul>" anfügen. So funktioniert es dann.
Warum ist dies aber notwendig? Der Verwesi wird doch in ul-Tags angezeigt.
Jessica
Hab den Fehelr gefunden.
Muss verwSpeichern mit "<ul>" belegen und am Ende "</ul>" anfügen. So funktioniert es dann.
Warum ist dies aber notwendig? Der Verwesi wird doch in ul-Tags angezeigt.
Jessica