Mengenfelder überprüfen
webdino
- javascript
1 EKKi
Hallo,
ich möchte gerne die Mengen die ich in meiner Seite angezeigt bekomme überprüfen. Sie dürfen 2000 nicht überschreiten.
Dafür habe ich bei einem Feld welches zu prüfen ist das hier gefunden:
Das Problem ist aber dass ich nicht weiß wie ich eine Schleife in JS baue um ggf. alle Mengenfelder abzuprüfen.
Kann mir da jemand helfen? Danke
---------------------------------------------------------------------------
<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
<!--
// Kontrolle, ob Wert in Feld 2 zu gross (> 109) ist
function zugross()
{
alert(document.Formular1.FeldB_'.$i.'.value);
var wert = document.Formular1.FeldB_'.$i.'.value;
if (wert>100)
{
alert(wert);
return false;
}
}
function globale_kontrolle()
{
var fehlerzahl = 0; // Anzahl der nicht gefüllten Felder
var fehlermeldung = "Ihr Formular ist nicht vollständig oder fehlerhaft ausgefüllt! \nFolgende Angaben sind noch notwendig:\n";
if(zugross())
{
fehlerzahl = fehlerzahl + 1;
fehlermeldung = fehlermeldung + fehlerzahl + ". Der Wert in dem zweiten Feld ist zu gross (<100)\n";
}
if (fehlerzahl == 0)
{
// Keine Fehler gefunden
return true;
}
else
{
// Fehler vorhanden
fehlermeldung = fehlermeldung + "Das Formular kann erst abgeschickt werden,\nwenn die entsprechenden Felder ausgefüllt \nund keine falschen Werte vorhanden sind!!";
alert(fehlermeldung);
return false;
}
}
function sicher()
{
// Rückfrage, ob tatsächlich Formular leeren
return window.confirm("Wollen Sie dieses Formular wirklich leeren?");
}
//-->
</SCRIPT>
</HEAD>
<FORM ACTION="mailto:xxx@gmx.de" method=POST name="Formular1" onSubmit="return globale_kontrolle()" onReset="return sicher()">
Feld: <INPUT name"FeldB" id="FeldB_'.$i.'" "SIZE=10 MAXLENGTH=10 type="int" >
Feld: <INPUT name"FeldB_1" id="FeldB_1'.$i.'" "SIZE=10 MAXLENGTH=10 type="int" >
Feld: <INPUT name"FeldB_2" id="FeldB_2'.$i.'" "SIZE=10 MAXLENGTH=10 type="int" >
Feld: <INPUT name"FeldB_3" id="FeldB_3'.$i.'" "SIZE=10 MAXLENGTH=10 type="int" >
Feld: <INPUT name"FeldB_4" id="FeldB_4'.$i.'" "SIZE=10 MAXLENGTH=10 type="int" >
Feld: <INPUT name"FeldB_5" id="FeldB_5'.$i.'" "SIZE=10 MAXLENGTH=10 type="int" >
<BR>
<DIV align=right>
<INPUT TYPE=submit VALUE="Formular abschicken">
<INPUT TYPE=reset VALUE="Abbruch">
</DIV>
</FORM>
</BODY>
</HTML>
---------------------------------------------------------------------------
Mahlzeit,
ich möchte gerne die Mengen die ich in meiner Seite angezeigt bekomme überprüfen. Sie dürfen 2000 nicht überschreiten.
Wenn sie 2000 nicht überschreiten dürfen, wieso überprüfst Du dann auf <100?
Das Problem ist aber dass ich nicht weiß wie ich eine Schleife in JS baue um ggf. alle Mengenfelder abzuprüfen.
Dafür gibt's doch http://de.selfhtml.org/javascript/sprache/schleifen.htm#for@title=SELFHTML ...
Kann mir da jemand helfen? Danke
Dein Code sieht insgesamt extrem grauslig aus und ist insgesamt invalide. Ändere beides! :-)
<HTML>
Generell ist es empfehlenswert, HTML-Tags immer klein zu schreiben. Z.B. erleichtert das ggf. den Umstieg auf XHTML.
<HEAD>
Es fehlt das <http://de.selfhtml.org/html/kopfdaten/titel.htm#angeben@title=zwingend erforderliche> <title>-Element.
<SCRIPT LANGUAGE="JavaScript">
Es fehlt das <http://de.selfhtml.org/html/referenz/attribute.htm#script@title=zwingend erforderliche> "type"-Attribut.
<!--
Die Auskommentierung von Javascript-Bereichen ist bei heutigen Browsern überflüssig.
function zugross()
{
alert(document.Formular1.FeldB_'.$i.'.value);
Woher kommt das "$i"? Evtl. aus PHP? Für clientseitige Probleme ist serverseitiger Code absolut irrelevant.
var wert = document.Formular1.FeldB_'.$i.'.value;
Du holst Dir hier von einem ganz bestimmten Formular den Wert. Sinnvoller wäre es, der Funktionen einen Parameter (z.B. ID oder Name des Elements) zu übergeben, um verschiedene Elemente überprüfen zu können.
<FORM ACTION="mailto:xxx@gmx.de" method=POST name="Formular1" onSubmit="return globale_kontrolle()" onReset="return sicher()">
Für Beispieladressen sind die Domains "example.com", "example.net" und "example.org" sowie die TLD ".example" vorgesehen. Alle anderen Adressen (auch die von Dir benutzte) könnten existieren und sind deshalb für Beispiele nicht geeignet, da ihre (z.B. versehentliche) Benutzung zu Problem führen könnte.
Feld: <INPUT name"FeldB" id="FeldB_'.$i.'" "SIZE=10 MAXLENGTH=10 type="int" >
Der Wert "int" ist für das "type"-Attribut <http://de.selfhtml.org/html/referenz/attribute.htm#input@title=nicht zulässig>. Darüber hinaus ist es sinnvoll, immer alle Werte von Attributen in Anführungszeichen zu setzen.
MfG,
EKKi