Flashhilfe.de - Flash Community

JavaScript: Überprüfung vom Inhalt eines Formular

 


AntwortenRegistrieren Seite1  

zellerjohannes#1
Benutzerbild von zellerjohannes
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
Sleepingbeast#2
Benutzerbild von Sleepingbeast
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'
zellerjohannes#3
Benutzerbild von zellerjohannes
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
badskill#4
Benutzerbild von badskillFlashhilfe.de Moderator
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.
zellerjohannes#5
Benutzerbild von zellerjohannes
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
zellerjohannes#6
Benutzerbild von zellerjohannes
Beiträge: 149
Registriert: Dec 2005

Themenautor/in

30.12.2009, 22:27

kann mir niemand helfen???

gruss
jz
zellerjohannes#7
Benutzerbild von zellerjohannes
Beiträge: 149
Registriert: Dec 2005

Themenautor/in

22.01.2010, 19:40

keine hilfe?

AntwortenRegistrieren Seite1  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.

 
Ähnliche Beiträge zum Thema
Javascript new line [Flash CS5] 23.11.2020 - user01234
Partner Webseiten: art-and-law.de  Mediengestalter.info   phpwelt.de   Scubacube.de  
Haftungsausschluss   Datenschutzerklärung   Impressum
© 1999-2021 Sebastian Wichmann - Flashhilfe.de