Simple Formularvariable auf Inhalt prüfen.

metty

Erfahrenes Mitglied
Hallo,

ich habe ein recht simples Problem, weiß leider trotzdem nicht wie ich es lösen soll.
Folgendes: Ich habe in einem Flashfilm ein Formular und wenn ich auf absenden drücke (Button), werden die Variablen an ein php Dokument übergeben und eine Mail verschickt. Danach läuft der Film weiter.
Das funktioniert auch alles soweit, aber ich möchte vorher einige Variablen prüfen und je nachdem ob etwas reingeschrieben wurde oder nicht den Film weiterfahren oder aber nicht. Bisher habe ich es so probiert:

Code:
if (PFName!="" && PFVorname!=""){
	this._parent.schrift.gotoAndStop("fertig");
	this._parent.gotoAndPlay("fertig");
	gotoAndPlay("fertig");
}

PFName und PFVorname sind die Felder, welche ich überprüfen möchte. Sind diese nicht leer, sol der Film weitergehen. Das funktioniert aber nicht. :(
Weiß jemand Rat?

Danke und Gruß, Matthias
 
Hi,

PFName und PFVorname sind die Felder
Was verstehst Du da unter Feldern? Sind das Textfeldvariablen oder Instanznamen der Eingabefelder?

this._parent.gotoAndPlay("fertig");
Das lässt mich annehmen, dass sich dieser Code auf einem MovieClip-Button befindet? In diesem Fall brauchst Du auch ein _parent vor den Textvariablen:
PHP:
if (_parent.PFName!="" && _parent.PFVorname!=""){
Wenn es sich um Textfeldinstanzen handelt, musst Du die text-Eigenschaft auslesen:
PHP:
if (_parent.PFName.text !="" && _parent.PFVorname.text !=""){

Gruß
.
 
Also sagen wir es mal so:
Ich habe einen Eingabetext der da heißt "deinname" (Instanzname) und die Var heißt "PFName".

Weder
Code:
if (_parent.PFName!="" && _parent.PFVorname!=""){

noch
Code:
if (_parent.PFName.text !="" && _parent.PFVorname.text !=""){

gehen.

Code:
if (_parent.deinname.PFName !="" && _parent.deinvorname.PFVorname !=""){

geht auch nicht :(
 
Dann poste bitte einmal die Datei. Ich weiß ja nicht, wo sich Deine Textfelder befinden usw. ;)

Ich bin auch nicht ganz sicher, ob Textfeldvariablen vielleicht noch "undefined", so lange nichts eingegeben wurde. ich würde zunächst mit einer Trace-Aktion prüfen, was diese Variablen für einen Wert haben. Positiver Nebeneffekt: Du findest damit gleich heraus, ob Du auf die Variablen überhaupt zugreifen kannst.

Gruß

EDIT: Jupp, sie sind undefined, bis etwas eingegeben wurde. ;) Die Abfrage müsste also wenn dann so lauten:
PHP:
if (_parent.textvariable.length > 0 && _parent.textvariable2.length > 0) {
    // mach weiter;
}
.
 
Zuletzt bearbeitet:
Die Datei posten kann ich leider nicht. Ich bin auf der Firma und du kennst das sicher mit dem Datenschutz. Allerdings folgendes. Ich habe mittels
Code:
trace(this.PFName);
herausgefunden, dass dann "undefined" ausgegeben wird. Kann ich auf undefined abfragen?
Code:
if(this.PFName!="undefined") {
funtioniert leider nicht.

//Edit
Code:
if (_parent.textvariable.length > 0 && _parent.textvariable2.length > 0) {
    // mach weiter;
}
und
Code:
if(this.PFName!=undefined) {
funktionieren!

Danke Datic!
Erledigt!
 
Zuletzt bearbeitet:
Ich würds über die length-Eigenschaft machen (die ist nur größer 0, wenn auch was drinsteht): siehe meinen Edit im vorigen Posting.

Du kannst auch explizit auf undefined prüfen, dann aber ohne Anführungsstriche:
PHP:
if (bla == undefined) {
Sobald der Benutzer allerdings einen Text eingibt und diesen wieder löscht, bekommen die Variablen den Wert "" - daher würde ich es wie gesagt über length machen, sonst müsstest Du auf undefined und "" prüfen.

Und nochwas:
trace(this.PFName);
Das geht nur dann, wenn sich die Textfelder in dem MovieClip befinden, auf dem sich das Script befindet. Wenn die Textfelder (wie ich vermute) auf der Hauptzeitleiste liegen und das Script auf einem Button, musst Du statt this _parent verwenden.

Gruß

EDIT: Na, scheint doch geklappt zu haben. :)
.
 
Zuletzt bearbeitet:
Datic hat gesagt.:
Und nochwas:Das geht nur dann, wenn sich die Textfelder in dem MovieClip befinden, auf dem sich das Script befindet. Wenn die Textfelder (wie ich vermute) auf der Hauptzeitleiste liegen und das Script auf einem Button, musst Du statt this _parent verwenden.

Gruß

EDIT: Na, scheint doch geklappt zu haben. :)
.


Zur Info: Textfelder befanden sich in der gleichen Ebene im gleichen MC wie der Button! Und es funktioniert alles, danke nochmal! :)
 
Zurück