Zum Inhalt springen

Prüfen von Feldern vor Submit mit JavaScript


geloescht_JesterDay

Empfohlene Beiträge

Hallo, hab ein (kleines) Problem mit JavaScript.

Ich hab eine Seite, auf der ich 2 Formulare hab. Das Erste Formular oben enthält 4 Eingabefelder, von denen 3 ausgefüllt werden müssen. Im zweiten Formular wird eine Liste mit bisher gewählten Daten in einer Tabelle angezeigt werden. In der Tabelle kann man über Checkboxen einzelne Zeilen wählen und diese dann löschen. Ich hab also 2 Actions, einmal Senden und einmal löschen. Deswegen auch die 2 Formulare.

Das erste Formular hat selber keinen Submit-Button, der Button der das Submit auslöst befindet sich im 2ten Formular und wird per OnClick gesteuert.

Das funktioniert auch wunderbar, nur bekomme ich es nicht hin, das die Inhalte der Felder geprüft werden.

Hier mal die Seite (teilweise):



[...]

<script type="text/javascript" src="BALScripts.js"></script> 

</head>

<body>

[...]


  <td>

[COLOR=RED][b][i]

  <form name="senden" method="post" action="send.php" onSubmit="return CheckBestellung()"></td>

[/i][/b][/COLOR]

  <td>Feld1: <input type="text" size="7" maxlength="8" name="Field1">  Feld2: <input type="text" size="7" maxlength="8" name="Field2">

  Field3: 

  <input type="text" size="8" maxlength="10" name="Field3"></td>

  </tr>

  <TR><td></td><td></td><td>Bemerkung:</td></TR>

  <tr><td></td><td></td><td><textarea name="Bemerkung" cols="56" rows="3"></textarea></form></td></tr>

  </form>

<tr>


  <td>  <form method="post" name="bestellung" action="clearsel.php"></td>

  <td></td>

  <td><hr></td>

  </tr>

  <tr>

  <td> </td>

 <td></td>

  <td><h4>Bestellung:</h4></td>

  </tr>

  <tr><td> </td><td> </td>

  <td>

  <table border="0">

  <colgroup>

    <col width="25">

    <col width="75">

    <col width="475">

    <col width="75">

  <colgroup>

  <tr><th style="text-align: center; background-color:#999999"></th><th style="text-align: center; background-color:#999999">BAL-Nr.</th><th style="text-align: center; background-color:#999999">Bezeichnung</th><th style="text-align: center; background-color:#999999">Anzahl</th></tr>


 <?php 

$LineNr=0;

$BGCols = array('#DDDDDD', '#FFFFFF');


if (@mysql_connect($DBHost, $DBUser, $DBPass))

{

  if (@mysql_select_db($DBName))

  {

    foreach($_SESSION as $BAL => $Anzahl)

    {

      if ($Anzahl != 'xxx')

      {

        //echo "BAL $BAL - Anzahl: $Anzahl<br>";

        $result = mysql_query("SELECT Bezeichnung FROM ba_details WHERE BALNummer = '$BAL'");

        $row = mysql_fetch_row($result);

        echo " <tr><td><input type=\"checkbox\" name=\"delete[]\" value=\"$BAL\"></td>";

        echo "<td style=\"background-color:$BGCols[$LineNr]; text-align: center\">$BAL</td><td style=\"background-color:$BGCols[$LineNr]; text-align: left\">$row[0]</td><td style=\"background-color:$BGCols[$LineNr]; text-align: right\">$Anzahl</td></tr>\n";

        $LineNr++;

        if ($LineNr > 1)

          $LineNr = 0;

      } // if != 'xxx'

    } // foreach


  } // mysql_select_db

} // mysql_connect


?>


<tr>

<td> </td>

</tr>

<tr>

<td> </td>

</tr>

<tr>

<td></td><td></td><td>

<input type="submit" name="clear" value="Auswahl löschen">

  

<input type="button" name="ClearAll" value="alle löschen" onClick="self.location.href='clearbest.php'">

  

[COLOR=RED][b][i]

<input type="button" name="send" value="abschicken" onClick="document.senden.submit()" />

[/i][/b][/COLOR]

</form>


</td><td></td>

</tr>


</table>

</td>

</form>

Hier noch das Script:

function CheckBestellung()

{

  var isEmptyField1, isEmptyField2, isEmptyField3, EmptyField;

  alert("Bestellung prüfen");

  isEmptyField1 = (this.document.senden.Field1.value == "");


  isEmptyField2 = (this.document.senden.Field2.value == "");


  isEmptyField3 = (this.document.senden.Field3.value == "");


  EmptyField = (isEmptyField1 || isEmptyField2 || isEmptyField3);

  /*

  if (EmptyField)

  {

    alert(Felder müssen gefüllt werden!);

  }

  else

  {

    this.document.senden.submit();

  }*/

  return !EmptyField;


}

wie man am auskommentierten Teil sehen kann hab ichz es auch schon durch direktes aufrufen des Scripts bei onClick probiert... es tut sich nichts. Nichtmal das alert am anfang der Function kommt.

Hat jemand hier eine Idee woran das liegen kann?

Danke

Link zu diesem Kommentar
Auf anderen Seiten teilen

Auf die konsole bin ich garnich gekommen ;) Naja, für den ersten Tag...

Ok, damit hab ich schon ein paar ungereimtheiten gefunden... aber, bei meinem eigentlichen PRoblem hilft es mir nix.

Hatte die JS-Datei über einen Verweis eingebunden und die Kosole bleib still. Es geschah aber auch nix (alert). Dann hab ich die Funktion mit in die Datei genommen und den Link zur externen auskommentiert und immernochnix. Weder in der Konsole, noch passiert irgendwas. Hab die Testfunktion nicht übernommen und deswegen mekert er immer rum, also ich merke er tut noch was (in der Konsole), allerdings nich das was er soll.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Fragt mich nicht warum, aber es geht jetzt. Hab es ja probiert über den Submit aufruf bei onClick und dann die Prüfung bei onSubmit. Davor hab ich die Funktion bei OnClick aufgerufen.

Das wollt ich nochmal mit der Konsole probieren... und jetzt geht es, egal ob die Funktion in einer Externen Datei ist oder nicht... keine Ahnung warum... Proxy? der sollte eigentlich hier lokal nicht aktiv sein und ausserdem hab ich mehr als einmal Reeload gemacht... egal, danke für die Tips.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...