AllesMeins: Funktion "not defined"

Hallo,

ich bastele gerade an einem Javascript und erhalte vom Mozilla folgende Fehlermeldung: "Error: funcover i not defined" Hier ein paar Ausschnitte aus meinem Script:

Oben in der HTML Datei:

<script src="scripts/menu.js.php?js=true&menupunkte=33" type="text/javascript"></script>

Das dahinter stehende PHP Script (Das damit auch als Javascriptquelle dient) hat folgenden Output:

//Noch andere JS Funktionen
var i;
function funcover(i, first)
{
document.getElementsByTagName("div")[i].style.class=".menuover";
if(first > 0){
window.setTimeout('out(' + i + ', 1)', 90);
}
}
//Noch andere JS Funktionen

Angesprochen wird das ganze aus diesem div tag:

<div style="class:menu" onMouseOver="funcover(0,0)" onMouseOut="out(0)">

Wo ist mein Fehler, der die oben zitierte Fehlermeldung verursacht? Grüsse

Marc

  1. uups, die Fehlermeldung lautet:
    "Error: funcover is not defined"

    Nicht das ihr denkt, das hätte was mit der Variable 'i' zu tun

    1. Moin Moin !

      Bleib doch bitte bei einem Namen.

      Wahrscheinlich ist irgendwo ein Javascript-Fehler aufgetreten, so daß die Verarbeitung erstmal irgendwo mittendrin abgebrochen wird.

      Mozilla hilft Dir: Tools -> Web Development -> Javascript Console und Tools -> Web Development -> Javascript Debugger.

      Alexander

      --
      Nein, ich beantworte keine Fragen per eMail. Dafür ist das Forum da.
      Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so!"
      1. Hiho,

        sorry wegen dem namen... war mit dem Gedanken in nem anderen Forum :-/

        Mozilla hilft Dir: Tools -> Web Development -> Javascript Console

        Ja, genau die sagt ja das mit dem "Error: function is not defined"

        und Tools -> Web Development -> Javascript Debugger.

        Ich muss ehrlich gestehen ich weiss nicht wie das Ding funktioiert. Er zeigt mir zwar wunderbar bunt (sprich grün schwarz) den Code an, aber das ist auch alles. Wie er Debugget habe ich bisher noch net raus. Vielleicht bin ich zu doof dazu, ich weiss es net

        Grüsse

        Marc

  2. Hi,

    Das dahinter stehende PHP Script (Das damit auch als Javascriptquelle dient) hat folgenden Output:

    Welcher Content-Type wird vom PHP-Script geliefert?
    Soll: text/javascript
    Vermutliches Ist: text/html

    cu,
    Andreas

    --
    Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
    http://mud-guard.de/? http://www.andreas-waechter.de/ http://www.helpers.de/
    1. M.oin,

      gut... da hast du Recht, habe das geändert. Trotzdem ändert das nichts an dem Fehler. Es klappt immer noch net...

      Marc

      1. Hi,

        gut... da hast du Recht, habe das geändert. Trotzdem ändert das nichts an dem Fehler. Es klappt immer noch net...

        Cache auch gelöscht?

        cu,
        Andreas

        --
        Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
        http://mud-guard.de/? http://www.andreas-waechter.de/ http://www.helpers.de/
        1. Hi,
          Nachtrag: URL des Scriptfiles?

          cu,
          Andreas

          --
          Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
          http://mud-guard.de/? http://www.andreas-waechter.de/ http://www.helpers.de/
          1. M.oin,

            bei mir auf der Platte. Oder was meinst du?

            Marc

            1. Hi,

              bei mir auf der Platte. Oder was meinst du?

              Ok, wenn man das File nicht angucken kann, eine Vermutung:

              enthält die "js-Datei" ein <script>-Element?

              cu,
              Andreas

              --
              Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
              http://mud-guard.de/? http://www.andreas-waechter.de/ http://www.helpers.de/
              1. M.oin,
                Ach so, sach doch das du es angucken willst :D Im moment sieht das komplette File so aus. Es ist aber gerade in der Runderneuerung, das heisst es passt noch net alles zueinander, wie es soll. Da werden noch sehr viele Fehler drin sein, da es sich um ein Gemisch aus alten und neuen Dateien handelt:

                function an(first){
                document.cookie = "js=true";
                if(document.cookie){
                var i, first;
                over(0, 1);
                }

                }
                var i;
                function funcover(i, first)
                {
                document.getElementsByTagName("div")[i].style.class=".menuover";
                //document.getElementsByTagName("div")[i].style.border="1px solid #000000";
                //document.getElementsByTagName("div")[i].style.background="#6B7954";
                if(first > 0){
                window.setTimeout('out(' + i + ', 1)', 90);
                }
                }
                function out(i, first)
                {
                document.getElementsByTagName("div")[i].style.border="1px solid #CFD4C8";
                document.getElementsByTagName("div")[i].style.background="#CFD4C8";
                if(first > 0){
                i = i + 1;
                if(i < 1){
                over(i, 1);
                }
                }
                }

                Die komplett alte Version mit auch dem alten Aufruf gibts auf meiner Seite http://www.startrekarchiv.de. Aber wie gesagt, die Version an der ich im Moment arbeite ist schon in vielen teilen geändert.

                Marc

                1. Hi,

                  function funcover(i, first)
                  {
                  document.getElementsByTagName("div")[i].style.class=".menuover";

                  1. style.className
                  2. Ein Klassenname kann nicht mit einem Punkt anfangen.

                  cu,
                  Andreas

                  --
                  Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
                  http://mud-guard.de/? http://www.andreas-waechter.de/ http://www.helpers.de/
                  1. Hiho,

                    jo, das wäre mein nächstes Problem gewesen. Aber soweit kommt der Browser ja gar net um das zu monieren... Muss es richtig:
                    document.getElementsByTagName("div")[i].style.class="menuover";
                    heissen?

                    Marc

                    1. Hiho,

                      jo, das wäre mein nächstes Problem gewesen. Aber soweit kommt der Browser ja gar net um das zu monieren... Muss es richtig:
                      document.getElementsByTagName("div")[i].style.class="menuover";
                      heissen?

                      Guck doch mal, ob du eine Fehlermeldung erhälst und ob die Datei überhaupt eingebunden wird.

                      Struppi.

                      1. Hmm,

                        ich habe mal als oberstes ein alert("Hallo"); in die js-Datei geschrieben. Das wird net ausgeführt... Guck bitte mal einer über diese Zeilen drüber ob ihr da irgendwo einen Fehler seht:

                        <html>
                        <head>
                        <title>Star Trek Archiv (v 4.0)</title>
                        <link REL="SHORTCUT ICON" HREF="sta.ico">
                        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
                        <script language="JavaScript" src="scripts/vote.js" type="text/javascript"></script>
                        <script src="scripts/menu.js.php?js=&menupunkte=33" type="text/javascript"></script>
                        <link rel=stylesheet type='text/css' href='startrekarchiv.css'>
                        </head>
                        <body bgcolor="#DCDDD8" text="#000000" background="images/bg.jpg" leftmargin="0" topmargin="0" onLoad='an(0)'>
                        <table width="775" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#000000"><tr>

                        Erklärt das für irgendeinen von euch warum es nicht geht?

                        Grüsse

                        Marc

                        1. Hmm,

                          ich habe mal als oberstes ein alert("Hallo"); in die js-Datei geschrieben. Das wird net ausgeführt... Guck bitte mal einer über diese Zeilen drüber ob ihr da irgendwo einen Fehler seht:

                          Du hast wahrschienlich einen Fehler in der externen Datei. Wie du Fehler findest wird dir auf http://glasgoogle.de beschrieben. Der IE ist reichlich ungeeignet zum Fehlersuchen. Benutze am besten NC 4. oder Mozilla.

                          Struppi.

                          1. Mozzilla fehlermeldung ist im Startpost. Diese sagt aber nur das 'funcover' not defined ist...

                            Marc

                            1. Mozzilla fehlermeldung ist im Startpost. Diese sagt aber nur das 'funcover' not defined ist...

                              Naja, was nach wie vor heißt, dass der Browser die Funktion nicht findet. Entweder ist die Datei nicht richtig eingebunden oder es trat ein anderer Fehler auf (den du dann aber finden müßtest).

                              Struppi.

                              1. Mozzilla fehlermeldung ist im Startpost. Diese sagt aber nur das 'funcover' not defined ist...

                                Naja, was nach wie vor heißt, dass der Browser die Funktion nicht findet. Entweder ist die Datei nicht richtig eingebunden oder es trat ein anderer Fehler auf (den du dann aber finden müßtest).

                                BZW, es kann sein das dein PHP Skript den falschen Header ausgibt (text/html), da ich kein PHP kann weiss ich nicht ob und wie man den Header ändert. In Perl muss es etwa so heissen: print header('text/javascript');

                                Struppi.

                                1. Moin,

                                  BZW, es kann sein das dein PHP Skript den falschen Header ausgibt (text/html), da ich kein PHP kann weiss ich nicht ob und wie man den Header ändert. In Perl muss es etwa so heissen: print header('text/javascript');

                                  Das ist eher Pherl, oder so was ähnliches. In Perl heisst es
                                  print "Content-Type: text/javascript";
                                  und in PHP heisst es
                                  header("Content-Type: text/javascript");

                                  --
                                  Henryk Plötz
                                  Grüße von der Ostsee
                                  1. Hi,

                                    BZW, es kann sein das dein PHP Skript den falschen Header ausgibt (text/html)

                                    Das hab ich ja auch schon in meinem ersten Posting dieses Threads angesprochen...

                                    cu,
                                    Andreas

                                    --
                                    Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
                                    http://mud-guard.de/? http://www.andreas-waechter.de/ http://www.helpers.de/
                                  2. Das ist eher Pherl, oder so was ähnliches. In Perl heisst es
                                    print "Content-Type: text/javascript";

                                    Das ist kein Header, da fehlen die newlines.
                                    nun gut, ich habe zwei Zeilen vergessen:

                                    #!/usr/bin/perl -w
                                    use CGI qw/:standard/;

                                    print header('text/javascript');

                                    Besser?

                                    Struppi.

                    2. Hi,

                      jo, das wäre mein nächstes Problem gewesen. Aber soweit kommt der Browser ja gar net um das zu monieren... Muss es richtig:
                      document.getElementsByTagName("div")[i].style.class="menuover";
                      heissen?

                      Nein, Du solltest die andere Hälfte der von mir im letzten Posting gegebenen Tipps auch berücksichtigen.

                      cu,
                      Andreas

                      --
                      Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
                      http://mud-guard.de/? http://www.andreas-waechter.de/ http://www.helpers.de/
                      1. Mm.oin,
                        uuuups peinlich voll übersehen. sorry... Aber ohne undankbar sein zu wollen bringt mir das herzlich wenig wenn das noch nicht mal ausgeführt wird :-/

                        Marc

        2. Cache auch gelöscht?

          Jein. Ich habe das Script einmal seperat aufgerufen und da hat er mir unter Eigenschaften angezeigt das der type text/javascript sei. es wird also die neue Datei verwendet...

          Marc

  3. Hallo,

    ich bastele gerade an einem Javascript und erhalte vom Mozilla folgende Fehlermeldung: "Error: funcover i not defined" Hier ein paar Ausschnitte aus meinem Script:

    Oben in der HTML Datei:

    <script src="scripts/menu.js.php?js=true&menupunkte=33" type="text/javascript"></script>

    Bist du sicher, das das Skript im Browser ankommt?

    Gib mal ein alert('fertig') oder sowas in deinem Skript aus.

    Struppi.