Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 30-07-2004, 18:43   #1 (permalink)
Immerzu Lernende
 
Registriert seit: Jul 2004
Beiträge: 23
Smile Variablen auslesen und senden

Hallo!

Ich möchte ein Formular für die Resonanz auf ein paar Spiele und Bücher für Kinder erstellen und sitze hier nun seit einer geschlagenen Woche um die 10 Stunden täglich dran. Die meisten Schwierigkeiten konnte ich durch fleißiges Recherchieren selbst meistern, aber beim Absenden hakt's gewaltig.

Das fragliche ActionScript liegt auf dem Absenden-Button.
Der Part mit der Vollständigkeitsabfrage funktioniert perfekt und wenn alles soweit vollständig ist, erscheint auch der erste Text des dynamischen Textfeldes.

Aber es wird nichts gesendet, was schon daran zu erkennen ist, daß im offline-Zustand wenigstens die Fehlermeldungen kommen müßten, daß zum einen die URL nicht gefunden wird und zum anderen auch im Film selbst der Fehlermeldungstext des dynamischen Feldes.

Davon abgesehen, weiß ich auch nicht, ob überhaupt die Variablen ausgelesen würden. Gibt es offline eine Möglichkeit, die Variablen zu überprüfen?
Das PHP habe ich noch nicht geschrieben und die entsprechende HP ist noch nicht online.

Es wäre echt klasse, wenn mir hier jemand helfen könnte.


Damit es nicht zu unübersichtlich wird:

1. Werden in diesem Script die Variablen ausgelesen?
2. Wie schaffe ich es, die Daten abzusenden?
3. Wieso werden die beiden if-else-Texte des dynamischen Feldes txt_Nachricht nicht angezeigt?



Hier das ActionScript...

Code:
ActionScript

on (release) {
{ 
        //Definition des Containers, der Daten bekommt//
        daten = new LoadVars(); 
        //Daten in Textfeldern, die User eingegeben hat, dem Container als Eigenschaft mitgeben 
        daten.Name = _root.txt_Name; 
        daten.Strasse = _root.txt_Strasse; 
        daten.Ort = _root.txt_Ort; 
        daten.Mail = _root.txt_Mail; 
        daten.Gutschein = _root.txt_Gutschein; 
        daten.Mitteilung = _root.txt_Mitteilung; 
		//Auslesen der CheckBox
		daten.Copyright = _root.Copyright.getValue();
		//Auslesen der Listboxen
		daten.Buch = _root.Buch.getSelectedItems().labels;
		daten.Spiel = _root.Spiel.getSelectedItems().labels;
	}
//Überprüfung der ausgefüllten Felder//
	var korrektAusgefuellt = true;

	if (txt_Name.text == "") {
		korrektAusgefuellt = false;
	} else {
		user.Name = txt_Name.text;
	}
	if (txt_Strasse.text == "") {
		korrektAusgefuellt = false;
	} else {
		user.Strasse = txt_Strasse.text;
	}
	if (txt_Ort.text == "") {
		korrektAusgefuellt = false;
	} else {
		user.Ort = txt_Ort.text;
	}
	if (txt_Mail.text.indexOf("@")<2) {
		korrektAusgefuellt = false;
	} else {
		kunde.Mail = txt_Mail.text;
	}
	if (txt_Mail.text.indexOf(".")<5) {
		korrektAusgefuellt = false;
	} else {
		kunde.Mail = txt_Mail.text; 
	}
	if (Copyright.getValue() == false) {
	korrektAusgefuellt = false;
	} else {
		user.Copyright = Copyright.text;
	}
	if (Buch.getSelectedItems().label == right) {
	korrektAusgefuellt = false;
	} else {
		kunde.Buch = Buch.text;		
	}			
	if (korrektAusgefuellt == false) { //Reaktionen auf das Abdrücken//
		gotoAndStop("Fehler");
	} else {
		gotoAndStop("Bestätigung");
		txt_Nachricht.text = "Die Daten werden übermittelt. Bitte warten.";
		daten.loadVariables("http://www.spiel-o-klopf.de/formmailer.php", "0", "Post");
	}
	
	daten.onLoad = function(success) 
        { 
            //Nach dem Übertrag der Daten// 
            if(success){   
	              txt_Nachricht.text = "Ihre Daten wurden übermittelt. Vielen Dank für Ihre Bestellung. Sie erhalten schnellstmöglich an die von Ihnen angegebene eMail-Adresse eine Bestätigung.";
 	} else {
  	             txt_Nachricht.text = "Es gab ein Problem bei der Übertragung der Daten. Bitte versuchen Sie es erneut oder wählen Sie eine andere Bestellmethode.";
      } 
        } 
	stop(); 
}
Vielen Dank schon mal im Voraus für die Hilfe!!!

Sylvia
__________________
http://www.haus-der-kuenste.de

Kunst ist Magie, befreit von der Lüge, Wahrheit zu sein.
Adorno

Geändert von Esanofla (31-07-2004 um 13:39 Uhr)
Esanofla ist offline   Mit Zitat antworten
Alt 30-07-2004, 21:10   #2 (permalink)
Immerzu Lernende
 
Registriert seit: Jul 2004
Beiträge: 23
Hallo, hallo, haaaaaaaaalllllo!

Ich weiß, für Profis ist das Pillepalle, aber ich weiß nicht mal, ob ich es total verbockt habe, oder nur ein blöder Fehler drin ist.

Eben habe ich auch noch eine ältere Version geschickt. Da hat sich nicht viel geändert, aber da ware noch ein paar mal kunde statt user drin. Daher nochmal die richtige Version.

Bitte! Hilfe!

Code:
ActionSript
on (release) {
{ 
        //Definition des Containers, der Daten bekommt//
        daten = new LoadVars(); 
        //Daten in Textfeldern, die User eingegeben hat, dem Container als Eigenschaft mitgeben 
        daten.Name = _root.txt_Name; 
        daten.Strasse = _root.txt_Strasse; 
        daten.Ort = _root.txt_Ort; 
        daten.Mail = _root.txt_Mail; 
        daten.Gutschein = _root.txt_Gutschein; 
        daten.Mitteilung = _root.txt_Mitteilung; 
		//Auslesen der CheckBox
		daten.Copyright = _root.Copyright.getValue();
		//Auslesen der Listboxen
		daten.Buch = _root.Buch.getSelectedItems().labels;
		daten.Spiel = _root.Spiel.getSelectedItems().labels;
	}
//Überprüfung der ausgefüllten Felder//
	var korrektAusgefuellt = true;

	if (txt_Name.text == "") {
		korrektAusgefuellt = false;
	} else {
		user.Name = txt_Name.text;
	}
	if (txt_Strasse.text == "") {
		korrektAusgefuellt = false;
	} else {
		user.Strasse = txt_Strasse.text;
	}
	if (txt_Ort.text == "") {
		korrektAusgefuellt = false;
	} else {
		user.Ort = txt_Ort.text;
	}
	if (txt_Mail.text.indexOf("@")<2) {
		korrektAusgefuellt = false;
	} else {
		user.Mail = txt_Mail.text;
	}
	if (txt_Mail.text.indexOf(".")<5) {
		korrektAusgefuellt = false;
	} else {
		user.Mail = txt_Mail.text; 
	}
	if (Copyright.getValue() == false) {
	korrektAusgefuellt = false;
	} else {
		user.Copyright = Copyright.text;
	}
	if (Buch.getSelectedItems().label == right) {
	korrektAusgefuellt = false;
	} else {
		user.Buch = Buch.text;		
	}			
	if (korrektAusgefuellt == false) { //Reaktionen auf das Abdrücken//
		gotoAndStop("Fehler");
	} else {
		gotoAndStop("Bestätigung");
		txt_Nachricht.text = "Die Daten werden übermittelt. Bitte warten.";
		daten.loadVariables("http://www.spiel-o-klopf.de/formmailer.php", "0", "Post");
	}
	
	daten.onLoad = function(success) 
        { 
            //Nach dem Übertrag der Daten// 
            if(success){   
				txt_Nachricht.text = "Ihre Daten wurden übermittelt. Vielen Dank für Ihre Bestellung. Sie erhalten schnellstmöglich an die von Ihnen angegebene eMail-Adresse eine Bestätigung.";
 			} else {
  				txt_Nachricht.text = "Es gab ein Problem bei der Übertragung der Daten. Bitte versuchen Sie es erneut oder wählen Sie eine andere Bestellmethode.";
      } 
        } 
	stop(); 
}

Danke schön!
Sylvia
__________________
http://www.haus-der-kuenste.de

Kunst ist Magie, befreit von der Lüge, Wahrheit zu sein.
Adorno
Esanofla ist offline   Mit Zitat antworten
Alt 30-07-2004, 21:15   #3 (permalink)
Immerzu Lernende
 
Registriert seit: Jul 2004
Beiträge: 23
P.S.

Nicht irrititiert sein wegen Bestellung etc. das stammt noch von einem der Scripts, über die ich versucht habe, das Ganze zu begreifen - da hab ich den passenden Text noch nicht und brauchte den Platzhalter.

Es geht halt auch nur um den Code!
__________________
http://www.haus-der-kuenste.de

Kunst ist Magie, befreit von der Lüge, Wahrheit zu sein.
Adorno
Esanofla ist offline   Mit Zitat antworten
Alt 30-07-2004, 22:03   #4 (permalink)
querdenker
 
Benutzerbild von kelor
 
Registriert seit: Jun 2001
Ort: formel1-stadt hockenheim
Beiträge: 4.731
wie wäre es, wenn du im oberen drittel die möglichen eingaben auch aus dem text der textfelder liest...?

also statt:
ActionScript:
  1. daten.Name = _root.txt_Name;
  2.         daten.Strasse = _root.txt_Strasse;

eher

ActionScript:
  1. daten.Name = _root.txt_Name.text;
  2.         daten.Strasse = _root.txt_Strasse.text;


greetz

kelor
kelor ist offline   Mit Zitat antworten
Alt 30-07-2004, 23:38   #5 (permalink)
Immerzu Lernende
 
Registriert seit: Jul 2004
Beiträge: 23
Hallo kelor!

Vielen Dank für Deine Antwort!
Ich habe das direkt mal eingebaut.

Weißt Du denn vielleicht auch, wo Absende-Fehler liegen könnte? So wie es jetzt ist, versucht Flash ja nicht mal, das angesprochene PHP-Skript zu finden...

Nächtliche Grüße
Sylvia


P.S. Wo stellt man eigentlich in der Mail-Maske den Rahmen für den ActionScript-Code ein? Ich seh' hier nur "Code"-, "HTML-Code"- und "PHP-Code"-Rahmen.
__________________
http://www.haus-der-kuenste.de

Kunst ist Magie, befreit von der Lüge, Wahrheit zu sein.
Adorno
Esanofla ist offline   Mit Zitat antworten
Alt 30-07-2004, 23:47   #6 (permalink)
querdenker
 
Benutzerbild von kelor
 
Registriert seit: Jun 2001
Ort: formel1-stadt hockenheim
Beiträge: 4.731
den as-code musst du händisch eingeben...mit den eckigen klammern und innerhalb die buchstaben a und s ...*zwinker*

wegen des sendens...hmm...lass mal schauen...

greetz

kelor

p.s. du hast ne p.m. [private message]


greetz

kelor
kelor ist offline   Mit Zitat antworten
Alt 30-07-2004, 23:50   #7 (permalink)
querdenker
 
Benutzerbild von kelor
 
Registriert seit: Jun 2001
Ort: formel1-stadt hockenheim
Beiträge: 4.731
argghh du solltest nicht mit loadVariables arbeiten...das ist veraltet undbraucht zeit...mehrere frames...

nutze anstelle das modernere 'LoadVars' object.
das kann alles in einem frame abarbeiten...senden und empfangen...außerdem sendet es per POST und ansonsten wesentlich komfortabler...


greetz

kelor
kelor ist offline   Mit Zitat antworten
Alt 30-07-2004, 23:50   #8 (permalink)
...
 
Benutzerbild von flash bier
 
Registriert seit: Nov 2001
Beiträge: 1.227
hallole,

wenn du nach neuer Methode ein LoadVars-Objekt erstellst:
daten = new LoadVars();

solltest du die Seite auch mit neuer Methode aufrufen:

daten.load("http://www.spiel-o-klopf.de/formmailer.php", "0", "Post");

statt:
daten.loadVariables("http://www.spiel-o-klopf.de/formmailer.php", "0", "Post");

oder nicht ?

MfG flash bier
__________________
Schweig oder sprich Worte, die besser sind als Schweigen !
flash bier ist offline   Mit Zitat antworten
Alt 31-07-2004, 00:01   #9 (permalink)
querdenker
 
Benutzerbild von kelor
 
Registriert seit: Jun 2001
Ort: formel1-stadt hockenheim
Beiträge: 4.731
außerdem kann man das POST weglassen, weil LV eh standardmäßig POST versendet...


greetz

kelor
kelor ist offline   Mit Zitat antworten
Alt 31-07-2004, 00:10   #10 (permalink)
...
 
Benutzerbild von flash bier
 
Registriert seit: Nov 2001
Beiträge: 1.227
außerdem hast du in deinem Button selbst sicher nicht das txt_Nachrichten-Textfeld, oder ?
Deswegen richtig referenzieren:
Und statt:
ActionScript:
  1. txt_Nachricht.text = "....
korrekter weise:
ActionScript:
  1. _parent.txt_Nachricht.text = "....
machen....

Dann klappt das auch mit der (Nicht)Erfolgs-Textausgabe.

MfG flash bier
__________________
Schweig oder sprich Worte, die besser sind als Schweigen !
flash bier ist offline   Mit Zitat antworten
Alt 31-07-2004, 13:24   #11 (permalink)
Immerzu Lernende
 
Registriert seit: Jul 2004
Beiträge: 23
Thumbs up Heureka!

Hallöchen kelor und flash bier!

Gute Laune macht sich breit!
Ihr habt mir supergenial geholfen!

"daten.load" bei der neuen Methode, die ich ja oben im Script schon angekündigt hatte, war natürlich entscheidend. *flöt*
"_parent." dagegen lief gar nicht, doch sobald "daten.load" eingetragen war, lief die ursprüngliche Programmierung problemlos.
Im Trockenlauf, also rein auf meinem PC, läuft jetzt alles so wie es laufen soll. *freu* *hüpf* *strahl*

".text" hatte ich ja direkt nach kelors Tipps angehängt und ich gehe davon aus, daß das funktioniert. Leider kann ich das ebenso wenig wie das PHP im Moment ausprobieren, weil ich das nur über den Server, auf dem meine HP liegt, testen könnte. Der ist aber letzte Woche umgezogen und hat heute letzte Arbeiten zu machen. Morgen dann...

Jetzt bin ich erst mal total happy!

@kelor
Das PHP habe ich übrigens nach "mailForm.php" geschrieben. Das ist ja ein tolles Teil, wenn ich auch einige AS-Programmierungsaspekte noch viel gründlicher untersuchen muß, um sie richtig zu verstehen. Flash als Design-Programm geht mir rein wie Butter, aber das AS sperrt sich noch richtig.
Sollte sich morgen herausstellen, daß ich mit dem PHP nicht zurecht gekommen, frag ich nochmal kurz. O.k.? Ansonsten: toll, daß Du sowas zur Verfügung stellst!!!

Liebe Grüße und ein tolles Wochenende
Sylvia
__________________
http://www.haus-der-kuenste.de

Kunst ist Magie, befreit von der Lüge, Wahrheit zu sein.
Adorno
Esanofla ist offline   Mit Zitat antworten
Alt 31-07-2004, 21:03   #12 (permalink)
querdenker
 
Benutzerbild von kelor
 
Registriert seit: Jun 2001
Ort: formel1-stadt hockenheim
Beiträge: 4.731


gerne geschehen...
falls du probs damit haben solltest, weißt du ja, wo du fragen mußt...

dir auch ein schönes wochenende...

greetz

kelor
kelor ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 09:34 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele