JavaScript: Überprüfung vom Inhalt eines Formular
| Beiträge: 149 Registriert: Dec 2005
| 30.12.2009, 18:15
Hallo zusammen
Bin ziemlicher Newcomer in JS. Erstelle gerade ein sehr benutzerfreundliches Bestellungsformular, welches aus vielen div's besteht, mit welchen man hin und zurück kann (mithilfe von style.display).
Beim Formular kann man per Radiobutton auswählen, ob man eine Konfiguration wünscht (Handys). Wenn man die Konfiguration auswählt, wird man auf ein Konfigurations-Div weitergeleitet, ansonsten bereits weiter zur Bezahlung. Das geht alles mittlerweile reibungslos (mithilfe einer Funktion, die auch bei onclick aufgerufen wird).
Doch nun bei der Überprüfung habe ich plötzlich ein Problem:
Da man ja ohne Konfiguration einige Felder nicht ausgefüllt hat, kann ich ja nicht immer alle Felder überprüfen, also muss ich mit Hilfe einer Funktion nochmals überprüfen ob der Konfigurations-Radiobutton ausgewählt ist oder nicht, und dann die Überprüfung demnach anpassen. Nun habe ich das versucht, aber es funktioniert einfach nicht. Habe schon jenste Dinge ausgetauscht und anders versucht...aber es geht trotzdem nicht. Ich hoffe Ihr könnt mir helfen.
Hier der Überprüfungsskript, der nicht funktioniert:
ActionScript:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 | function Eingaben_Doro_334_GSM() {
if (document.Bestellung_Doro_334_GSM.Konfiguration[0].checked == true) {
if( Anzahl_Doro_334_GSM(Doro_334_GSM.Anzahl) == false
|| Vorname_Doro_334_GSM(Doro_334_GSM.Vorname) == false
|| Nachname_Doro_334_GSM(Doro_334_GSM.Nachname) == false
|| Adresse_Doro_334_GSM(Doro_334_GSM.Adresse) == false
|| PLZ_Doro_334_GSM(Doro_334_GSM.PLZ) == false
|| Ort_Doro_334_GSM(Doro_334_GSM.Ort) == false
|| Telefon_Doro_334_GSM(Doro_334_GSM.Telefon) == false
|| A_Name_Doro_334_GSM(Doro_334_GSM.A_Name) == false
|| A_Nummer_Doro_334_GSM(Doro_334_GSM.A_Nummer) == false
|| B_Name_Doro_334_GSM(Doro_334_GSM.B_Name) == false
|| B_Nummer_Doro_334_GSM(Doro_334_GSM.B_Nummer) == false
|| C_Name_Doro_334_GSM(Doro_334_GSM.C_Name) == false
|| C_Nummer_Doro_334_GSM(Doro_334_GSM.C_Nummer) == false
|| D_Name_Doro_334_GSM(Doro_334_GSM.D_Name) == false
|| D_Name_Doro_334_GSM(Doro_334_GSM.D_Nummer) == false
|| E_Notfallname_Doro_334_GSM(Doro_334_GSM.E_Notfallname) == false
|| E_Notfallnummer_Doro_334_GSM(Doro_334_GSM.E_Notfallnummer) == false
|| SOS_Taste_Name_Doro_334_GSM(Doro_334_GSM.SOS_Taste_Name) == false
|| SOS_Taste_Nummer_Doro_334_GSM(Doro_334_GSM.SOS_Taste_Nummer) == false
|| E_Mail_Name_Doro_334_GSM(Doro_334_GSM.E_Mail_Name) == false)
{
Anzahl_Doro_334_GSM();
Vorname_Doro_334_GSM();
Nachname_Doro_334_GSM();
Adresse_Doro_334_GSM();
PLZ_Doro_334_GSM();
Ort_Doro_334_GSM();
Telefon_Doro_334_GSM();
A_Name_Doro_334_GSM();
A_Nummer_Doro_334_GSM();
B_Name_Doro_334_GSM();
B_Nummer_Doro_334_GSM();
C_Name_Doro_334_GSM();
C_Nummer_Doro_334_GSM();
D_Name_Doro_334_GSM();
D_Name_Doro_334_GSM();
E_Notfallname_Doro_334_GSM();
E_Notfallnummer_Doro_334_GSM();
SOS_Taste_Name_Doro_334_GSM();
SOS_Taste_Nummer_Doro_334_GSM();
E_Mail_Name_Doro_334_GSM();
}
else
{
document.getElementById('Schritt6').style.display='none';
document.getElementById('Schritt7').style.display='block';
}
}
else
{
if( Anzahl_Doro_334_GSM(Doro_334_GSM.Anzahl) == false
|| Vorname_Doro_334_GSM(Doro_334_GSM.Vorname) == false
|| Nachname_Doro_334_GSM(Doro_334_GSM.Nachname) == false
|| Adresse_Doro_334_GSM(Doro_334_GSM.Adresse) == false
|| PLZ_Doro_334_GSM(Doro_334_GSM.PLZ) == false
|| Ort_Doro_334_GSM(Doro_334_GSM.Ort) == false
|| Telefon_Doro_334_GSM(Doro_334_GSM.Telefon) == false
|| E_Mail_Name_Doro_334_GSM(Doro_334_GSM.E_Mail_Name) == false)
{
Anzahl_Doro_334_GSM();
Vorname_Doro_334_GSM();
Nachname_Doro_334_GSM();
Adresse_Doro_334_GSM();
PLZ_Doro_334_GSM();
Ort_Doro_334_GSM();
Telefon_Doro_334_GSM();
E_Mail_Name_Doro_334_GSM();
}
}
}
|
Hier einer der einzelnen Skripts, die im oberen aufgerufen werden. Funktioniert sonst reibungslos:
ActionScript:1 2 3 4 5 6 | function Anzahl_Doro_334_GSM() {
if (document.Doro_334_GSM.Anzahl.value == "" || isNaN(document.Doro_334_GSM.Anzahl.value)) {
document.getElementById('Anzahl_Doro_334_GSM').style.display='block';
return false;
}
}
|
Gruss
jz | Geändert von zellerjohannes am 30.12.09 um 19:15 Uhr | |
| | Beiträge: 579 Wohnort: Halle Registriert: Apr 2005
| 30.12.2009, 19:19
Hallo Johannes,
ohne jetzt speziell auf dein eigentliches Problem einzugehen, will ich dir den Tipp geben, "Sicherheitsrelevante" Funktionen nicht mit JS zu realisieren. Zum einen kann der Benutzer JS deaktiviert haben (dann geht schonmal garnix) zum anderen kann so auch ein Bösewicht deine Funktionen relativ leicht überlisten. Für die wirklich wichtigen Sachen empfehle ich dir, die Formularfelder llieber mit PHP statt mit JS zu überprüfen. Zwar gibt es auch mit PHP einige Dinge zu beachten aber da es serverseitig läuft, sind (fehlerhafte) Eingaben viel sicherer zu erkennen.
Patrick_________________________________________________________
Um Rekursion wirklich zu verstehen, muss man zuerst Rekursion verstehen.
null != 'null' != 0 != '0' | | | Beiträge: 149 Registriert: Dec 2005
Themenautor/in
| 30.12.2009, 19:24
Ok. Aber dann ist die Zurück-etc. Funktion schwieriger und ausserdem ist die Überprüfung, ob nun eine Nummer richtig angegeben wurde ja nicht gerade ein Geheimnis...ich meine, falls mal eine fehlerhafte Anfrage ist jetzt in diesem Fall nicht so schlimm, da es nur ein minimaler Shop ist.
Hättest du eine Idee zum Problem?
gruss
jz | | | Beiträge: 5285 Wohnort: Bernau (bei
Berlin) Registriert: Nov 2002
| 30.12.2009, 19:50
Die Funktion Anzahl_Doro_334_GSM gibt entweder garnichts oder false zurück, aber kein true. Das soll so sein?
Ansonsten einfach mal ein paar alerts in die Schleife mit rein, dann sieht man ja, wo es hängenbleibt. | | | Beiträge: 149 Registriert: Dec 2005
Themenautor/in
| 30.12.2009, 20:06
jap. ich brauche ja true gar nicht, da dies ja die else schleife übernimmt.
gruss jz | | | Beiträge: 149 Registriert: Dec 2005
Themenautor/in
| 30.12.2009, 22:27
kann mir niemand helfen???
gruss
jz | | | Beiträge: 149 Registriert: Dec 2005
Themenautor/in
| 22.01.2010, 19:40
keine hilfe? | |
| Ähnliche Beiträge zum Thema | 23.11.2020 - user01234 02.11.2020 - frliberti |
|
Flashhilfe.de Flash Platform Tipps & Tutorials Flash Platform Andere Programmiersprachen Jobangebote Diskussionen
Flashhilfe News 
Regeln & Bedingungen
|