Flashhilfe.de - Flash Community

Probleme mit der Überprüfung des Formulars... [Flash CS3]

 


AntwortenRegistrieren Seite1  

flashline#1
Benutzerbild von flashline
Beiträge: 6
Registriert: Oct 2010

09.09.2011, 16:49

Hallöchen mal wieder an Alle,

habe nun Probleme mit meinem Emailformular, oder ich raff es einfach nicht...
Also habe ein Formular gebastelt das mit AS2 überprüft werden soll ob alle Felder richtig ausgefüllt sind. Da ich nicht alle Felder einzeln abfragen wollte, habe ich "nur" die Eingabe der Email-Adresse "gesondert" zur Prüfung gestellt. Alle anderen Felder müssen einfach nur ausgefüllt sein um das Formular zu verschicken.
Jetzt habe ich das Problem das nur das "Message-Feld" und die Email-Adresse überprüft wird. Alle anderen Felder werden nicht überprüft, bzw. wenn nur Message + Email ausgefüllt sind kann man abschicken...
Ich komme einfach nicht drauf wo der Fehler liegt.... gggnnnn
Könnte ihr mal bitte nachschauen wo ich Mist gebaut habe? Wäre supertoll

Ich hänge mal meine fla-Datei dazu...
Nachfolgend auch das Script zum anschauen.

Vielen Dank mal schon vorab...

txtFeldArr = ["txtFirma", "txtName", "txtStrasse", "txtOrt", "txtTel", "txtEmail", "txtMessage"];
txtLabelArr = ["Ihre Firma (oder Privat eintragen)", "Vor- und Nachname", "Straße", "PLZ/Ort", "Telefon", "Ihre gültige eMail-Adresse", "Ihre Nachricht an uns"];
//
///////////////////////////////////////////////////////////////////////////////
//
fncClear = function (obj1, index) {
   obj1.text = txtLabelArr[index];
};
//----------------------------------------------------------------------------
fncOldStyle = function (obj2) {
   obj2.textColor = "0x666666";
   obj2.borderColor = "0xFFFFFF";
   obj2.backgroundColor = "0xFFFFFF";
};
//----------------------------------------------------------------------------
fncNewStyle = function (obj3) {
   obj3.textColor = "0x000000";
   obj3.borderColor = "0xcccccc";
   obj3.backgroundColor = "0xffffff";
};
//----------------------------------------------------------------------------
fncCheckContent = function (obj4) {
   if (obj4.text == txtLabelArr[obj4.i]) {
      obj4.text = "";
   } else if ((obj4.text == "")) {
      fncClear(obj4, obj4.i);
   }
};
//
///////////////////////////////////////////////////////////////////////////////
//
fncInit = function () {
   for (i=0; i<txtFeldArr.length; i++) {
      currentTxtFeld = 0;
      prevtTxtFeld = 0;
      // --------------------------------------------------------------------
      mcFormular[txtFeldArr[i]].i = i;
      // --------------------------------------------------------------------
      fncClear(mcFormular[txtFeldArr[i]], mcFormular[txtFeldArr[i]].i);
      fncOldStyle(mcFormular[txtFeldArr[i]]);
      // --------------------------------------------------------------------
      mcFormular[txtFeldArr[i]].onSetFocus = function() {
         prevtTxtFeld = currentTxtFeld;
         currentTxtFeld = this;
         // ----------------------------------------------------------------
         fncNewStyle(currentTxtFeld);
         fncOldStyle(prevtTxtFeld);
         // ----------------------------------------------------------------
         fncCheckContent(currentTxtFeld);
         fncCheckContent(prevtTxtFeld);
      };
   }
};
//
///////////////////////////////////////////////////////////////////////////////
//
fncSend = function () {
   felderVoll = false;
   emailRichtig = false;
   for (i=0; i<txtFeldArr.length; i++) {
      if ((mcFormular[txtFeldArr[i]].text == "") || (mcFormular[txtFeldArr[i]].text == txtLabelArr[i])) {
         mcFormular[txtFeldArr[i]].textColor = "0xE4A443";
         mcFormular.txtStatus.text = "Alle Felder bitte korrekt ausfüllen";
         felderVoll = false;
      } else {
         felderVoll = true;
      }
      // --------------------------------------------------------------------
      if ((mcFormular.Email.indexOf("@")<2) || (mcFormular.Email.indexOf(".")<5)) {
         mcFormular.txtEmail.textColor = "0xE4A443";
         mcFormular.txtStatus.text = "Das ist keine gültige eMail-Adresse";
         emailRichtig = false;
      } else {
         emailRichtig = true;
      }
   }
   // ------------------------------------------------------------------------
   if ((felderVoll == true) && (emailRichtig == true)) {
      mcFormular.txtStatus.text = "Ihre Nachricht wurde erfolgreich gesendet...";
      mcFormular.loadVariables("http://www.meinedomain.de/php/senden.php","POST");
      mcFormular.txtFirma.text = "";
      mcFormular.txtName.text = "";
      mcFormular.txtStrasse.text = "";
      mcFormular.txtOrt.text = "";
      mcFormular.txtTel.text = "";
      mcFormular.txtEmail.text = "";
      mcFormular.txtMessage.text = "";

      }
   
};

//----------------------------------------------------------------------------
mcFormular.btnClear.onRollOver = mcFormular.btnSend.onRollOver=function () {
   this.txtLabel.textColor = "0xFFFFFF";
};
mcFormular.btnClear.onRollOut = mcFormular.btnSend.onRollOut=function () {
   this.txtLabel.textColor = "0x000000";
};
//----------------------------------------------------------------------------
mcFormular.btnClear.onPress = mcFormular.btnSend.onPress=function () {
   this.txtLabel._x = this.txtLabel._y += 1;
};
mcFormular.btnClear.onReleaseOutside = mcFormular.btnSend.onReleaseOutside=function () {
   this.txtLabel.textColor = "0x000000";
   this.txtLabel._x = this.txtLabel._y -= 1;
};
//----------------------------------------------------------------------------
mcFormular.btnClear.onRelease = function() {
   this.txtLabel._x = this.txtLabel._y -= 1;
   fncInit();
};
mcFormular.btnSend.onRelease = function() {
   this.txtLabel._x = this.txtLabel._y -= 1;
   fncSend();
   
};
//

fncInit();
Geändert von flashline am 09.09.11 um 16:50 Uhr
Werbung
Beiträge: 0
Registriert: Feb 2016


RustyCake#2
Benutzerbild von RustyCake
Beiträge: 1776
Wohnort: Laimbach 6 1/2
Registriert: Nov 2002

09.09.2011, 18:08

Glaube schon das die anderen Felder geprüft werden, aber bei Deinem Code reicht es ja,
wenn das letzte ausgefüllt ist.
felderVoll wird 6x auf False gesetzt, aber beim letzten mal auf True, das reicht auch.

ActionScript:
1
2
3
4
5
  if ((mcFormular[txtFeldArr[i]].text == "") || (mcFormular[txtFeldArr[i]].text == txtLabelArr[i])) {
           mcFormular[txtFeldArr[i]].textColor = "0xE4A443";
           mcFormular.txtStatus.text = "Alle Felder bitte korrekt ausfüllen";
           felderVoll = false;
           return;// das dürfte Dein Problem beheben
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muss erst gehen lernen"
Geändert von RustyCake am 09.09.11 um 18:50 Uhr
flashline#3
Benutzerbild von flashline
Beiträge: 6
Registriert: Oct 2010

Themenautor/in

09.09.2011, 18:49

Vielen Dank für deine schnelle Antwort! Aber ich raffe es trotzdem nicht...
Wenn ich die Felder Email und Message ausfülle, kann ich das Formular abschicken. Das sind z.Zt. nur die beiden einzigen "Pflichtfelder"... Bei allen anderen Felder wie Firma, Name, Strasse, Ort und Telefon passiert gar nichts. Die sollten aber auch "Pflichtfelder" sein...?!

Da liegt der Hund begraben... gggnnn
RustyCake#4
Benutzerbild von RustyCake
Beiträge: 1776
Wohnort: Laimbach 6 1/2
Registriert: Nov 2002

09.09.2011, 19:37

Hab ich Dir ja Versucht zu erklären, das liegt an der "felderVoll" innerhalb der for-schleife.
Aber schau bitte noch auf den Code-Schnipsel was ich nach gepostet hab.
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muss erst gehen lernen"
Werbung
Beiträge: 0
Registriert: Feb 2016


flashline#5
Benutzerbild von flashline
Beiträge: 6
Registriert: Oct 2010

Themenautor/in

12.09.2011, 12:17

Hi RustyCake, nochmals vielen Dank. Jetzt funzt es natürlich... :-)
Hatte Tomaten auf den Augen, sorry, ist ja auch logisch (...wenn man jetzt die Lösung kennt ;-))))

Könnte ich dich gleich mal nach einem anderen Themen befragen? Will noch nen Autoresponder einbauen. Soll ich das im PHP-Script machen, oder gibt es auch Lösung für das Actionscript?

Mal wieder vielen Dank im Voraus... !!!!!!
Geändert von flashline am 12.09.11 um 12:18 Uhr

AntwortenRegistrieren Seite1  

Schnellantwort

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

 
Ähnliche Beiträge zum Thema
Ein PC und drei Monitore [Flash CS5] 10.09.2017 - Herzenslicht
Partner Webseiten: art-and-law.de  Mediengestalter.info   php-resource.de   phpforum.de   phpwelt.de   Pixelio.de   Scubacube.de  
Haftungsausschluss   Datenschutzerklärung   Hier Werben   Impressum
© 1999-2019 Sebastian Wichmann - Flashhilfe.de