online 1
gast (50)

/ Forum / Skripte(PHP,ASP,Perl...)

Skripte(PHP,ASP,Perl...)Skripte(PHP,ASP,Perl...)

Fragevon jessica vom 24.07.2019, 21:52 Options

Verweis nur anzeigen wenn Variable true ist

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


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 schreiben

Antwort 1 von heinsch vom 24.07.2019, 23:10 Options

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 vom 25.07.2019, 07:55 Options

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 vom 25.07.2019, 09:35 Options

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 vom 25.07.2019, 10:17 Options

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

Ähnliche Themen

Textdatei im gleichen HTML-Dokument anzeigen
Jessica  12.04.2007 - 216 Hits - 12 Antworten

Variable durchsuchen
Uesch  25.02.2008 - 35 Hits - 7 Antworten

Globale Variable im Formular Anzeigen
AndiS  28.02.2008 - 109 Hits -

Access 2003 Globale Variablen
ZapT  30.05.2008 - 97 Hits - 2 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Mon Jan 26 01:23:17 2026