27apricot
Erfahrenes Mitglied
Hallo,
ich hab' ein Formularscript geschrieben für die Eingabe von Konzertprogrammen. Das ganze Formularscript wird sowohl bei der Eingabe eines neuen Konzertes als auch bei der Bearbeitung eines bereits in der Datenbank eingetragenen Konzertes aufgerufen.
Ganz am Ende gibt es ein Feld, in das man einträgt, an wievielen Terminen das Programm stattfinden wird. Dieses Feld belege ich per PHP dynamisch vor: mit »1« bei einem neuen Konzertprogramms und bei der Bearbeitung eines vorhandenen Konzertprogramms mit der in der DB stehenden Anzahl der Termine.
Nun überprüfe ich mit JavaScript die Eingabe. Es soll eine Fehlermeldung kommen, wenn beim Abschicken des Formulares die eingetragene Anzahl kleiner ist als die Vorbelegung. Deswegen übergebe ich die Vorbelegung auch per PHP an das JavaScript. Dieses sieht so aus:
Wenn jetzt bei der Konzertbearbeitung die Vorbelegung »2« ist (weil zwei Termine in der Datenbank stehen), kommt die Fehlermeldung nur, wenn ich »0« eingebe, und nicht, wenn ich »1« eingebe. Ändere ich die Vorbelegung beim leeren Formular (also der Eingabe eines neuen Konzertprogramms) auf »2« oder »3«, funktioniert alles richtig.
Der Quelltext sieht in jedem Falle -- je nach übergebener Vorbelegung -- gleich aus. Im obigen Javascript steht der INT-Wert und im Formularfeld steht »value="(int)"«. Und trotzdem reagiert das Script unterschiedlich.
Weiß jemand einen Rat? Kann natürlich sein, dass das ein PHP-Problem ist, was ich aber kaum glaube, da der Quelltext der generierten Datei, wie erwähnt, so aussieht, wie er aussehen sollte.
Danke und schöne Grüße:
27apricot.
ich hab' ein Formularscript geschrieben für die Eingabe von Konzertprogrammen. Das ganze Formularscript wird sowohl bei der Eingabe eines neuen Konzertes als auch bei der Bearbeitung eines bereits in der Datenbank eingetragenen Konzertes aufgerufen.
Ganz am Ende gibt es ein Feld, in das man einträgt, an wievielen Terminen das Programm stattfinden wird. Dieses Feld belege ich per PHP dynamisch vor: mit »1« bei einem neuen Konzertprogramms und bei der Bearbeitung eines vorhandenen Konzertprogramms mit der in der DB stehenden Anzahl der Termine.
Nun überprüfe ich mit JavaScript die Eingabe. Es soll eine Fehlermeldung kommen, wenn beim Abschicken des Formulares die eingetragene Anzahl kleiner ist als die Vorbelegung. Deswegen übergebe ich die Vorbelegung auch per PHP an das JavaScript. Dieses sieht so aus:
HTML:
if(document.forms[0].anzahl_termine.value < <?php echo $value_anzahl; ?>) {
alert("Die Anzahl der Termine ist zu klein");
}
<!-- Das Formularfeld: -->
<input name="anzahl_termine" type="text" class="w25" maxlength="2" value="<?php echo $value_anzahl; ?>" onfocus="select()" />
Der Quelltext sieht in jedem Falle -- je nach übergebener Vorbelegung -- gleich aus. Im obigen Javascript steht der INT-Wert und im Formularfeld steht »value="(int)"«. Und trotzdem reagiert das Script unterschiedlich.
Weiß jemand einen Rat? Kann natürlich sein, dass das ein PHP-Problem ist, was ich aber kaum glaube, da der Quelltext der generierten Datei, wie erwähnt, so aussieht, wie er aussehen sollte.
Danke und schöne Grüße:
27apricot.