Hallo Forumer,
ich möchte bestimmte Felder in einem Formular prüfen, ob sie etwas enthalten oder nicht. Das Problem, was sich mir bis jetzt noch stellt ist, daß die Anzahl, und damit der Name der Felder immer unterschiedlich ist.
Ich vergebe den Names dieses Feldes so, daß ich über einen Zähler bei einer DB Abfrage eine Zahl zum Namen des Feldes dazu addiere.
<form name="Bestellung" method="POST" action="CDONTSMail_bestellung2.asp" onSubmit="return chkFormular()">
.
.
DB Abfrage....
rs.MoveFirst
i = 1
.
.
i = i + 1
rs.MoveNext
loop
Session("AvalArtikelCount") = i
.
Das Ergebnis sieht dann je nach Anzahl der Daten aus der DB so aus:
.
.
<input type="text" name="Menge_<%=i%>" size="3">
.
Bei 12 Einträgen habe ich also:
...<input type="text" name="Menge_1" size="3">
...<input type="text" name="Menge_2" size="3">
.
.
.
...<input type="text" name="Menge_11" size="3">
...<input type="text" name="Menge_12" size="3">
Diese Felder sind bei Aufruf der Seite leer. Der User soll hier nun seine Menge eingeben. Also mit einer Zahl füllen.
Gibt er nirgends eine Zahl ein und klickt trotzdem auf "Abschicken", soll die Prüfung stattfinden und ihm sagen, daß er nirgends eine Zahl eingegeben hat. Diese Meldung soll aber nicht erscheinen, wenn er von den 12 Feldern auch nur eins gefüllt hat. Dabei ist die Zahl 12 variable..
Ich habe schon versucht, mit der o. g. Funktion zu arbeiten, komme aber nicht weiter.
<script language="JavaScript">
<!--
function chkFormular()
{
if(document.Bestellung.Menge_<%=i%>.value = "0")
{
alert("Sie haben noch nichts bestellt !");
document.Bestellung.Menge_<%=i%>.focus();
return false;
}
}
Bei mir schickt er das Formular ohne Inhalt trotzdem ab.
Was mache ich falsch?
MfG
Tom