Supportnet Computer
Planet of Tech

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;
}
}

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.

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.

<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

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: