Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 16-11-2004, 09:38   #1 (permalink)
Neuer User
 
Registriert seit: Nov 2003
Beiträge: 59
Kontaktformular Pflichtfelder

Ich habe hier den Code eines Kontaktformulars, funzt auch alles bis auf das in ein Textfeld (txt_status mit var_status) eine Fehlermeldung angezeigt werden soll, wenn ein Pflichtfeld nicht ausgefüllt wird. In dem eigentlichen Flash Film funzt es ohne Probleme, nur wenn ich den Film über ein Menü in einen anderen Film lade klappt das nicht mehr. Woran kann das liegen?

Code:
// Sonderzeichen Aktiv
System.useCodepage = true;

// Im Feld plz Können nur Zahlen eingegeben werden
txt_plz.restrict = "0-9";

// Fehlermeldung wird ausgeblendet
//var_status="";

// Durchlaufe solange wie viele Elemente im array vorhanden sind
for (i=0; i<textfeld.length; i++) {
	// Funktion für den Hintergrung im Textfeld
	_root.mc_kontakt[textfeld[i]].onSetFocus = function() {
		_root.mc_kontakt.backgroundColor = 0xcccccc;
		// Überprüfung, ob im Textfeld schon reingeklickt worde ist
		// damit nicht beim erneuten klicken der geschriebene Text gelöscht wird
		if (_root.mc_kontakt[this._name]) {
			_root.mc_kontakt[this._name].text = "";
			_root.mc_kontakt[this._name] = false;
		}
	};
	// Funktion für den Hintergrung im Textfeld
	_root.mc_kontakt[textfeld[i]].onKillFocus = function() {
		_root.mc_kontakt.backgroundColor = 0x000000;
	};
}
// Überprüfung ob in den Pflichtfeldern etwas eingetragen ist
// Diese Funktion wird unten in der if Bedingung aufgerufen
String.prototype.leer = function() {
	for (i=0; i<this.length; i++) {
		// Steht was im Textfeld ?
		// 32 bedeutet größer als ein Leerzeichen, da das Leerzeichen den 
		// Code 32 besitzt.
		if (this.charCodeAt(i)>32) {
			return true;
		} else {
		var_status="Bitte Pflichtfelder (*) korrekt ausfüllen!! Flott";
		}
	}
};
// Funktion für den Button
_root.mc_kontakt.btn_abschicken.onRelease = function() {
	// Überprüfung ob in der eMailadresse ein @ Zeichen vorkommt
	// Überprüfung ob die eMailadresse weniger als 6 Zeichen hat
	// Überprüfung ob ein Name und ein Nachrichtentext eingegeben wurde
	// Diese Überprüfung ruft die Funktion leer auf
	//if (var_email.indexOf("@") == -1 || var_email.length<6 || _root.txt_name.text.leer() || _root.txt_betreff.text.leer() || _root.txt_nachricht.text.leer()) {
	if (var_email.length<6 || _root.txt_name.text.leer() || _root.txt_betreff.text.leer() || _root.txt_nachricht.text.leer()) {
		// Bei True wird die Fehlermeldung angezeigt
		var_status="Bitte Pflichtfelder (*) korrekt ausfüllen!";
	} else {
		// Weiterhin die Fehlermeldung ausblenden und das php Script aufrufen
		loadVariablesNum("http://www.test.de/senden.php", 0, "GET");
		var_status="Nachricht wurde verschickt!";
	}
};

Geändert von Luigihausen (16-11-2004 um 12:33 Uhr)
Luigihausen ist offline   Mit Zitat antworten
Alt 16-11-2004, 10:40   #2 (permalink)
The Man Who Wasn't There
 
Benutzerbild von fraggle two
 
Registriert seit: Jul 2003
Ort: BÄRLIN
Beiträge: 1.156
hi,

das liegt daran das sich die pfade ändern wenn du den film woanders reinlädst.

wenn er für sich allein läuft ist _root = _root

wenn du ihn jetzt in einen mc lädst wird aus dem ehemaligen _root ein _root.mc

also für den fall das du ihn in einen mc lädst:

ActionScript:
  1. _root.hier_der_instanzname_wo_du_deinen_film_hinlädst.mc_kontakt[textfeld[i]]...

wenn du ihn auf einen level lädst sollte es auch weiterhin so funktionieren wie du es schon hattest.

gruß
mike
__________________
Dot-Realities
Mike Broders
Berlin

ICQ:105925103

Dot-Realities v4.0 under construction!
fraggle two ist offline   Mit Zitat antworten
Alt 16-11-2004, 12:32   #3 (permalink)
Neuer User
 
Registriert seit: Nov 2003
Beiträge: 59
Ich habe jetzt einiges Versucht, anfangs mit Logik und später nach Gut Glück. Nur nichts hat funktioniert!

Ich laden den SWF so in den MC:

Code:
_root.ladeziel.loadMovie("swf_kontakt.swf");
da dachte ich mir ich kann die Variable so ansprechen:

Code:
_root.ladeziel.mc_kontakt.var_status="Bitte Pflichtfelder (*) korrekt ausfüllen!";
Das Problem ist denke ich das ich den Instanznamen für mc_kontakt nicht vergeben haben bzw. kann (kann man das beim laden machen?)

So habe ich es auch versucht:
Code:
_root.ladeziel.var_status="Bitte Pflichtfelder (*) korrekt ausfüllen!";
Das Textfeld liegt im _root in swf_kontakt.swf! Was ich aber überhaupt nicht verstehen muss: Wenn ich das Textfeld im gleichen MC liegen habe und es normal mit
Code:
var_status="Bitte Pflichtfelder (*) korrekt ausfüllen!";
anspechen kann, warum funzt das dann auch nicht mehr sobald ich es in einen anderen MC lade?

Damit stehe ich irgendwie immer auf Kriegsfuß!

Geändert von Luigihausen (16-11-2004 um 12:40 Uhr)
Luigihausen ist offline   Mit Zitat antworten
Alt 16-11-2004, 12:50   #4 (permalink)
Dittsche-Kaiborg
 
Benutzerbild von yemenheiko
 
Registriert seit: Oct 2002
Beiträge: 121
wenn ich das jetzt richtig verstanden habe, dann liegt der ganze code in "swf_kontakt.swf" und diese datei wird in einen hauptfilm geladen.
dann würde ich mal sagen, lass "_root" einfach weg!

hauptfilm mit nachgeladenen film:

root
---ladeziel
------mc_kontakt

du versuchst jetzt immer auf "_root" zu greifen, aber warum? bleib in ladeziel!
wie "fraggle two" schon geschrieben hat, ändern sich die pfade!
__________________
Was passiert eigentlich, wenn man die "F1"-Taste drückt?

Geändert von yemenheiko (16-11-2004 um 13:16 Uhr)
yemenheiko ist offline   Mit Zitat antworten
Alt 16-11-2004, 12:54   #5 (permalink)
The Man Who Wasn't There
 
Benutzerbild von fraggle two
 
Registriert seit: Jul 2003
Ort: BÄRLIN
Beiträge: 1.156
Zitat:
Was passiert eigentlich, wenn man die "F1"-Taste drückt?
sei bloß vorsichtig... da hab ich schon gruselige sachen gehört!

gruß
mike
__________________
Dot-Realities
Mike Broders
Berlin

ICQ:105925103

Dot-Realities v4.0 under construction!
fraggle two ist offline   Mit Zitat antworten
Alt 16-11-2004, 13:15   #6 (permalink)
Dittsche-Kaiborg
 
Benutzerbild von yemenheiko
 
Registriert seit: Oct 2002
Beiträge: 121
so oder so ähnlich taucht diese frage in testbögen für angehende screen-designer auf und die mehrheit der testkandidaten weiss es wirklich nicht.
auch unmengen an fragen hier im forum lösen sich einfach durch den druck auf die F1-taste.

vorsichtig bin ich da nur bei buchhaltungsprogrammen der firma lexware, denn die schaffen es nicht eine hilfe mit mehr als einem satz pro hilfethema zu schreiben.

__________________
Was passiert eigentlich, wenn man die "F1"-Taste drückt?
yemenheiko ist offline   Mit Zitat antworten
Alt 16-11-2004, 13:43   #7 (permalink)
Neuer User
 
Registriert seit: Nov 2003
Beiträge: 59
Sorry das nicht jeder das Wissen von Euch hat und das Benutzen der Hilfe ist ja wohl für meinen Fall etwas ungünstig. Auch kenne ich di Suchen-Funktion hier im Forum. Aber alles das bringt mich nicht weiter!

Auch die Idee mit dem _root weglassen funzt nicht!

habe jetzt folgende Sachen versucht:

Code:
ladeziel.mc_kontakt.var_status="Bitte Pflichtfelder (*) korrekt ausfüllen!";
ladeziel.var_status="Bitte Pflichtfelder (*) korrekt ausfüllen!";
var_status="Bitte Pflichtfelder (*) korrekt ausfüllen!";
Luigihausen ist offline   Mit Zitat antworten
Alt 16-11-2004, 13:48   #8 (permalink)
The Man Who Wasn't There
 
Benutzerbild von fraggle two
 
Registriert seit: Jul 2003
Ort: BÄRLIN
Beiträge: 1.156
hi,

dann mach mal so:

in das variablenfeld des textfelds:

_level0.var_status

dann :

_level0.var_status="Bitte Pflichtfelder (*) korrekt ausfüllen!";

gruß
mike
__________________
Dot-Realities
Mike Broders
Berlin

ICQ:105925103

Dot-Realities v4.0 under construction!
fraggle two ist offline   Mit Zitat antworten
Alt 16-11-2004, 14:03   #9 (permalink)
Neuer User
 
Registriert seit: Nov 2003
Beiträge: 59
Auch damit funzt das leider nicht. Alleine geht es, nur mit dem laden in den MC wieder nicht! Ich habe die beiden entsprechenden .fla-Dateien mal hier hinterlegt, vielleicht kann sie sich mal jemand anschauen!
Luigihausen ist offline   Mit Zitat antworten
Alt 16-11-2004, 14:41   #10 (permalink)
The Man Who Wasn't There
 
Benutzerbild von fraggle two
 
Registriert seit: Jul 2003
Ort: BÄRLIN
Beiträge: 1.156
so...

wie gesagt... pfadprobleme!

und zwar in deiner if-abfrage wo du die textfelder auf inhalt prüfst.
da hast du auf _root wo die textfelder ja gar nicht sind.

habs dir angehangen...

gruß
mike
Angehängte Dateien
Dateityp: zip planungsbüro.zip (30,7 KB, 11x aufgerufen)
__________________
Dot-Realities
Mike Broders
Berlin

ICQ:105925103

Dot-Realities v4.0 under construction!
fraggle two ist offline   Mit Zitat antworten
Alt 16-11-2004, 14:59   #11 (permalink)
Neuer User
 
Registriert seit: Nov 2003
Beiträge: 59
Vielen Dank! Ooooooh habe ich mich überhaupt nicht mit den Abfragen beschäftigt, die ganze Zeit immer nur mit der Ausgabe. Als ich if-abfrage gelesen habe ist es mir auch eingefallen. Wünsche noch einen schönen Tag!
Luigihausen ist offline   Mit Zitat antworten
Alt 16-11-2004, 15:34   #12 (permalink)
Dittsche-Kaiborg
 
Benutzerbild von yemenheiko
 
Registriert seit: Oct 2002
Beiträge: 121
na endlich!
klar musst du alle _root's rausnehmen!

aber hier nochmal ein paar hilfethemen zum nachlesen:

"Hilfe" --> "ActionScript-Referenzhandbuch" --> "Mit Movieclips arbeiten"
und dort folgende themen:
"Zusätzliche SWF-Dateien laden und entladen"
"Hauptzeitleisten für geladene SWF-Dateien festlegen" (im ersten abschnitt mit beispielen wird dein problem behandelt)

gruss und viel spass noch!
__________________
Was passiert eigentlich, wenn man die "F1"-Taste drückt?
yemenheiko 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 20:40 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele