geloescht_JesterDay Geschrieben 4. Juni 2004 Geschrieben 4. Juni 2004 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 Zitieren
kills Geschrieben 4. Juni 2004 Geschrieben 4. Juni 2004 haste die javascript datei in die html datein eingebunden? Zitieren
geloescht_JesterDay Geschrieben 4. Juni 2004 Autor Geschrieben 4. Juni 2004 Ja, siehe oben in der HTML Datei: <script type="text/javascript" src="BALScripts.js"></script> Zitieren
kills Geschrieben 4. Juni 2004 Geschrieben 4. Juni 2004 andere funktionen in deiner JS datei kannst du aber aufrufen? Zitieren
geloescht_JesterDay Geschrieben 4. Juni 2004 Autor Geschrieben 4. Juni 2004 Nein. Ging auch nicht. Eine Testfunktion im Body OnLoad wurde nicht ausgeführt. Diese Testfunktion in der Datei ging dann. Allerdings nicht die Funktion zum prüfen der Eingaben. Die ging weder intern noch extern. Zitieren
geloescht_JesterDay Geschrieben 4. Juni 2004 Autor Geschrieben 4. Juni 2004 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. Zitieren
geloescht_JesterDay Geschrieben 4. Juni 2004 Autor Geschrieben 4. Juni 2004 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. Zitieren
Empfohlene Beiträge
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.