Birgit: Wieso wird die Funktion nicht aufgerufen

Hallo,

ich bin total am verzweifeln. Ich habe eine Formular, das vor dem Absenden überprüft werden soll. Aber die Funktion wird gar nicht erst aufgerufen. Woran könnte es liegen? Hier der Quellcode:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD>

<?php  // Datenbankverbindung  require("../connect.php");

// IP-Adresse des Besuchers  $UserIP = $REMOTE_ADDR;

// Auslesen aller Produkte aus der Datenbank, die zur ausgewaehlten Kategorie gehoeren  $ProduktAnfrage = "SELECT  SID, ArtNummer, ArtName, ArtBeschreib, Preis, Image FROM produkte WHERE KSID='$kategorie'";  $ProduktErgebnis = mysql_query($ProduktAnfrage) or die ("Fehler bei der Anfrage: ". $ProduktAnfrage);

$Counter = 0;  // Alle Daten der Produkte einem Array zuweisen  while ($ProduktAnzeig = mysql_fetch_row($ProduktErgebnis))  {   if (!isset($ProduktNr))   {    // Wenn noch kein Produkt ausgewaehlt wurde, soll das erste genommen werden    $ProduktNr = 0;   }   $Artikel[$Counter]["SID"] = $ProduktAnzeig[0];   $Artikel[$Counter]["Nummer"] = $ProduktAnzeig[1];   $Artikel[$Counter]["ArtName"] = $ProduktAnzeig[2];   $Artikel[$Counter]["Beschreib"] = $ProduktAnzeig[3];   $Artikel[$Counter]["Preis"] = $ProduktAnzeig[4];   $Artikel[$Counter]["Bild"] = $ProduktAnzeig[5];   $Counter++;  }

$BestellArtikel = $Artikel[$ProduktNr]["SID"];  $BestelltAnfrage = "SELECT * FROM warenkorb WHERE IP='$UserIP' AND Bestellt='N' AND PSID='$BestellArtikel'";  $BestelltErgebnis = mysql_query($BestelltAnfrage) or die ("Fehler bei der Anfrage: ". $BestelltAnfrage);

if ($anzeigen = mysql_fetch_row($BestelltErgebnis))  {   $Bestellt = True;  }  else  {   $Bestellt = False;  }

$Bestellt = True;

echo "<TITLE>Produkte</TITLE>";

echo "<link href="../standard.css" rel="stylesheet" type="text/css" title="stylesheet">";

echo "<script type="text/javascript" language="JavaScript">"; echo "<!--";  echo "function check()";  echo "{";   /if ($Bestellt == true)   {    //echo "var bestaetigen;";    echo "bestaetigen = confirm("Möchten Sie diese dazulegen?");";    echo "if (bestaetigen == false)";    echo "{";     echo "return false;";     echo "exit;";    echo "}";    echo "else";    echo "{";     echo "document.Warenkorb.submit();";    echo "}";   }/   echo "alert('hallo');";   echo "return false;";  echo "}";

echo "//-->"; echo "</script>";

echo "<BASE TARGET="_parent">";  echo "</HEAD>"; echo "<BODY BACKGROUND="../assets/images/Background.gif">";   //echo $BestelltAnfrage;

// Formular fuer den Warenkorb     echo "<FORM NAME="Warenkorb" action="../warenkorbeintrag.php?ProduktNr=$ProduktNr&kategorie=$kategorie&Bestellt=$Bestellt" METHOD="post" target="_self" onSubmit="return check()">";

// Aeussere Tabelle zur Ausrichtung     echo "<TABLE BORDER="0" CELLSPACING="5" CELLPADDING="0" WIDTH="541">";

echo "<TR VALIGN="TOP" ALIGN="LEFT">";             echo "<TD WIDTH="7" HEIGHT="6"><IMG SRC="../assets/images/autogen/clearpixel.gif" WIDTH=7 HEIGHT=1 BORDER=0 ALT=""></TD>";             echo "<TD><IMG SRC="../assets/images/autogen/clearpixel.gif" HEIGHT="1" BORDER="0" ALT=""></TD>";        echo "</TR>";        echo "<TR VALIGN="TOP" ALIGN="LEFT">";             echo "<TD COLSPAN="2">";

$ProduktAnzahl = count($Artikel);

// Uebersicht der einzelnen Produkte der Kategorie als Links ausgeben      echo "Die Produktpalette für diese Kategorie: ";

for ($Counter = 0; $Counter < $ProduktAnzahl; $Counter++)      {       echo "<a href="body_produkte.php?kategorie=$kategorie&ProduktNr=$Counter" target="_self">". $Artikel[$Counter]["ArtName"] ."</a>  ";      }

echo "</TD>";        echo "</TR>";        echo "<TR>";             echo "<TD COLSPAN="2">";              echo "<H3 ALIGN="center">". $Artikel[$ProduktNr]["ArtName"]. "</H3>";             echo "</TD>";        echo "</TR>";        echo "<TR VALIGN="TOP" ALIGN="LEFT">";             echo "<TD>";                  echo "<img src="../assets/images/".$Artikel[$ProduktNr]["Bild"]."" align="left">";

echo "</TD>";             echo "<TD>";

// Tabelle fuer Warbenkorb               echo "<table border="0" cellspacing="2" cellpadding="0">";

echo "<tr>";                 echo "<td valign="top">";                   echo "<b>Artikelnummer:</b> ";                 echo "<td>";                   echo $Artikel[$ProduktNr]["Nummer"];                 echo "</td>";               echo "<tr>";                 echo "<td valign="top">";                   echo "<b>Artikelbeschreibung:</b> ";                 echo "</td>";                 echo "<td>";                   echo $Artikel[$ProduktNr]["Beschreib"];                 echo "</td>";               echo "</tr>";               echo "<tr>";                 echo "<td valign="top">";                   echo "<b>Preis:</b> ";                 echo "</td>";                 echo "<td>";                   echo $Artikel[$ProduktNr]["Preis"]." €";                 echo "</td>";               echo "</tr>";               echo "<tr>";                 echo "<td colspan="2" height="50" align="right">";                  echo "<table border="0">";                    echo "<tr>";                      echo "<td valign="bottom">";                    echo "<input type="hidden" name="PSID" value="" .$Artikel[$ProduktNr]["SID"]. "">";                       echo "<input type="text" name="Anzahl" size="4">  ";                      echo "</td>";                      echo "<td valign="top">";                             echo "<input type="submit" value="In den Warenkorb legen">";                             //echo "<a href="javascript:check()" target="_self" onClick="return check()"><img src="../assets/images/buy.gif" border="0" alt="Waren in den Warenkorb legen" valign="middle"></a>";            echo "</td>";          echo "</tr>";        echo "</table>";      echo "</td>";    echo "</tr>";

echo "</table>";             echo "</TD>";

echo "</TR>";

echo "</TABLE>";     echo "</FORM>";

echo "</BODY>"; echo "</HTML>"; ?>

Wäre lieb, wenn mir jemand helfen könnte.

Gruß,

Birgit

  1. Hi,

    ich bin total am verzweifeln. Ich habe eine Formular, das vor dem Absenden überprüft werden soll. Aber die Funktion wird gar nicht erst aufgerufen. Woran könnte es liegen? Hier der Quellcode:

    Und warum listest Du hier das php-Script auf, wenn es um Javascript geht?

    Bitte gib nur den relevanten Code an - das ist der entscheidende Ausschnitt aus dem, was der Browser kriegt (nicht, was am Server interpretiert wird).
    Ich wühl mich doch nicht durch zig Zeilen irrelevanten Code.

    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. Und warum listest Du hier das php-Script auf, wenn es um Javascript geht?

      Bitte gib nur den relevanten Code an - das ist der entscheidende Ausschnitt aus dem, was der Browser kriegt (nicht, was am Server interpretiert wird).
      Ich wühl mich doch nicht durch zig Zeilen irrelevanten Code.

      cu,
      Andreas

      Das blöde ist ja, wenn ich nur das relevante nehme, dann funktioniert das alles. Kann es sein, daß vielleicht irgendwie Tags fehlen? Ich habe alles schon so oft durchgeguckt.

      Gruß

      Birgit

      1. Moin!

        Das blöde ist ja, wenn ich nur das relevante nehme, dann funktioniert das alles. Kann es sein, daß vielleicht irgendwie Tags fehlen? Ich habe alles schon so oft durchgeguckt.

        Aha, das ist ein interessanter Hinweis.

        Wenn du wissen willst, ob dein generiertes HTML in Ordnung ist, dann lasse es validieren! http://validator.w3.org zeigt dir alle HTML-Fehler, die du eingebaut hast.

        - Sven Rautenberg

        --
        ss:) zu:) ls:[ fo:} de:] va:) ch:] sh:) n4:# rl:| br:< js:| ie:( fl:( mo:|
  2. Wenn ich die Kommentarbefehle (also "<!--" und "//-->") rausnehme, funktioniert es. Darf man das denn einfach weglassen?

    Gruß
    Birgit

    1. hi,

      Wenn ich die Kommentarbefehle (also "<!--" und "//-->") rausnehme, funktioniert es. Darf man das denn einfach weglassen?

      wenn wir diese aussage mal mit dem von dir geposteten code
      echo "<script type="text/javascript" language="JavaScript">";
      echo "<!--";
       echo "function check()";
       echo "{";
        /*if ($Bestellt == true)
        { ...
      in verbindung bringen, fällt folgendes auf:

      da du keinerlei \n (zeilenvorschübe) im echo verwendest, steht nachher alles in einer zeile.
      also
      <script type="text/javascript" language="JavaScript"><!--function check(){...

      das <!--function check(){... korrekt funktioniert, glaube ich aber kaum.

      also versuche mal, den code so auszugeben, dass da auch wirklich mehrere zeilen im html-quellcode stehen; dann sollte es m.e. funktionieren.

      gruss,
      wahsaga