Zurück   Flashforum > Flash > ActionScript > ActionScript 3

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 12-02-2012, 11:53   #1 (permalink)
Neuer User
 
Benutzerbild von Woelfchen
 
Registriert seit: Feb 2012
Beiträge: 62
Texteingabe auf bestimmten Wert prüfen

Hallo, ich habe ein Textfeld in das man was eingeben kann. Ich möchte gerne prüfen, ob ein bestimmter Wert eingegeben wurde. (In meinem Fall soll mehrere Optionen geben: Bitte, bitte). Wie mach ich das denn?
Bisher sieht mein Code so aus:
Wenn ich bitte eingebe, kommt der trace Nicht korrekt.

PHP-Code:
var bittefeld:Bittefeld = new Bittefeld();
var 
checkbutton:Checkbutton = new Checkbutton();


function 
dreieckfunktion (e:MouseEvent)
{
    
    
addChild(bittefeld);
    
bittefeld.200;
    
bittefeld.200;
    
addChild(checkbutton);
checkbutton.300;
checkbutton.200;

checkbutton.addEventListener(MouseEvent.CLICKpruefen);

//Prüffunktion
function pruefen(evt:Event):void {
    var 
muster:RegExp = /[bite]/;
    var 
erg:Object muster.exec(bittefeld.text);
    if (
erg == null) {
        
//      ausgabe_txt.text = "Nicht korrekt!";
        
trace ("Nicht korrekt!");
    } else {
      
// ausgabe_txt.text = "Korrekte Postleitzahl";
      
trace ("Korrekte Postleitzahl");
    }
}



Geändert von Woelfchen (12-02-2012 um 12:12 Uhr)
Woelfchen ist offline   Mit Zitat antworten
Alt 12-02-2012, 12:59   #2 (permalink)
+ Zimt & Zucker
 
Registriert seit: Mar 2006
Ort: hinterm Mond gleich links
Beiträge: 2.041
PHP-Code:
            var reg:RegExp = /Bitte/i;
            
            
trace(reg.test("bitte"));
            
trace(reg.test("Bitte,Bitte"));
            
trace(reg.test("Danke")); 
__________________
anbei Grüße vom milchreis: Viva la [Silb]
"Selbst wenn uns nur noch der Zynismus treibt, wir werden trotzdem einfach immer weiter gehen!"

[Von null auf Flash in einem Klick.] <<< klick
milchreis ist offline   Mit Zitat antworten
Alt 12-02-2012, 13:10   #3 (permalink)
Neuer User
 
Benutzerbild von Woelfchen
 
Registriert seit: Feb 2012
Beiträge: 62
Jaaaa es geht soweit vieeeelen Dank echt super
Woelfchen ist offline   Mit Zitat antworten
Alt 12-02-2012, 13:33   #4 (permalink)
Neuer User
 
Benutzerbild von Woelfchen
 
Registriert seit: Feb 2012
Beiträge: 62
Ups, es geht doch nicht... egal was ich eingebe, es kommt immer true Auch wenn ich nichts eingebe...

Code:
PHP-Code:
function pruefen(evt:Event):void
    
{
        var 
reg:RegExp = /Bitte/i;
        
trace(reg.test("bitte"));
        
trace(reg.test("Bitte"));
        
trace(reg.test("Bitte!"));
        
trace(reg.test("bitte!"));
        
trace(reg.test("BITTE"));
        
trace(reg.test("BITTE!"));

        if (
reg == false)
        {
            
removeChild(sagbitte);
            
addChild(ausgabe_txt);
            
ausgabe_txt.160;
            
ausgabe_txt.500;

            
trace("Nö, so nicht!");
        }
        else
        {

            
trace("hier kommt dann die Lösung");
        }


    } 
Ausgabe, wenn ich irgendwas eingebe und dann abschicke:

PHP-Code:
true
true
true
true
true
true
hier kommt dann 
die Lösung 

Und so wills auch nicht gehen:
PHP-Code:
function pruefen(evt:Event):void
    
{
        var 
reg:RegExp = /Bitte/i;
        
        
        
/*trace(reg.test("bitte"));
        trace(reg.test("Bitte"));
        trace(reg.test("Bitte!"));
        trace(reg.test("bitte!"));
        trace(reg.test("BITTE"));
        trace(reg.test("BITTE!")); */

        
if (reg.test("bitte") || reg.test("Bitte") )
        {
            
trace("hier kommt dann die Lösung");
        }
        else
        {

            
            
removeChild(sagbitte);
            
addChild(ausgabe_txt);
            
ausgabe_txt.160;
            
ausgabe_txt.500;

            
trace("Nö, so nicht!");
        }


    } 

Geändert von Woelfchen (12-02-2012 um 13:41 Uhr)
Woelfchen ist offline   Mit Zitat antworten
Alt 12-02-2012, 14:25   #5 (permalink)
Neuer User
 
Registriert seit: Sep 2006
Beiträge: 620
PHP-Code:
function pruefen(evt:Event):void
    
{
        var 
reg:RegExp = /Bitte/i;
        

        if (
deinText.search(reg) == -1)    // wenn der Ausdruck nicht gefunden wurde
        
{
            
removeChild(sagbitte);
            
addChild(ausgabe_txt);
            
ausgabe_txt.160;
            
ausgabe_txt.500;

            
trace("Nö, so nicht!");
        }
        else
        {

            
trace("hier kommt dann die Lösung");
        }


    } 
Siehe auch hier.

MfG Monk
__________________
Flash CS5 / Flex 3 / Flashdevelop / FB 4.6
dr monk ist gerade online   Mit Zitat antworten
Alt 12-02-2012, 14:26   #6 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.324
doch, das muss gehen. noch ein beispiel:
Code:
function isDankeText(str:String):Boolean {
	var reg1:RegExp = /bitte/i;
	var reg2:RegExp = /dank/i;
	var flag:Boolean = reg1.test(str) || reg2.test(str);
	return flag;
}

trace(isDankeText('Besten Dank, für Speiss und Trank'));
trace(isDankeText('Bitteschön und hier die Rechnung'));
trace(isDankeText('Fac'));
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib ist offline   Mit Zitat antworten
Alt 12-02-2012, 14:28   #7 (permalink)
+ Zimt & Zucker
 
Registriert seit: Mar 2006
Ort: hinterm Mond gleich links
Beiträge: 2.041
Die ".test" Methode des RegEx Objektes liefert Boolean zurück.

Du vergleichst aber das Objekt an sich mit false, was durch Typumwandlung einer Existenzprüfung gleich kommt.
Dein zweiter Code liefert die Ausgabe "hier kommt dann die Lösung". Ist das nicht das gewünschte Ergebnis?

Beachte das deine Oder-Verknüpfung überflüssig ist, da die RegEx die ich dir gegeben habe durch das "i" am Ende Groß- und Kleinschreibung ignoriert.
__________________
anbei Grüße vom milchreis: Viva la [Silb]
"Selbst wenn uns nur noch der Zynismus treibt, wir werden trotzdem einfach immer weiter gehen!"

[Von null auf Flash in einem Klick.] <<< klick

Geändert von milchreis (12-02-2012 um 14:44 Uhr)
milchreis ist offline   Mit Zitat antworten
Alt 12-02-2012, 16:40   #8 (permalink)
Neuer User
 
Benutzerbild von Woelfchen
 
Registriert seit: Feb 2012
Beiträge: 62
Hey danke für eure Geduld

Ich hab es jetzt mal so eingebaut, wie es dr monk geschrieben hat (deinText -> war damit schon das Textfeld gemeint, oder?)

Jetzt kommt wenn ich was eingebe und abschicke die Meldung:

HTML-Code:
TypeError: Error #1006: search ist keine Funktion.
	at MethodInfo-91()
PHP-Code:
    function pruefen(evt:Event):void
    
{
        var 
reg:RegExp = /Bitte/i;
        

        if (
bittefeld.search(reg) == -1)    // wenn der Ausdruck nicht gefunden wurde
        
{
            
removeChild(sagbitte);
            
addChild(ausgabe_txt);
            
ausgabe_txt.160;
            
ausgabe_txt.500;

            
trace("Nö, so nicht!");
        }
        else
        {

            
trace("hier kommt dann die Lösung");
        }


    } 
@milchreis
Er soll das ja nur ausgeben, wenn auch "bitte" in das Feld eingetippt wurde, aber momentan hat er es ja immer gemacht, selbst wenn man nichts ins Feld geschrieben hat.
Woelfchen ist offline   Mit Zitat antworten
Alt 12-02-2012, 16:44   #9 (permalink)
+ Zimt & Zucker
 
Registriert seit: Mar 2006
Ort: hinterm Mond gleich links
Beiträge: 2.041
Zitat:
Zitat von Woelfchen Beitrag anzeigen
HTML-Code:
TypeError: Error #1006: search ist keine Funktion.
	at MethodInfo-91()
Vertausche das Objekt, auf dem du die Methode aufrufst mit dem das du als Parameter übergibst, bedenke das ein string verlangt wird, kein Textfeld.

Also nutze die .text Eignschaft.

Zitat:
Zitat von Woelfchen Beitrag anzeigen
@milchreis
Er soll das ja nur ausgeben, wenn auch "bitte" in das Feld eingetippt wurde, aber momentan hat er es ja immer gemacht, selbst wenn man nichts ins Feld geschrieben hat.
Mein Beispielcode führte den Test auf eine String literal durch um zu zeigen was passiert. Logisch das sich da nichts ändert, du musst schon deine String Variable einsetzen.
__________________
anbei Grüße vom milchreis: Viva la [Silb]
"Selbst wenn uns nur noch der Zynismus treibt, wir werden trotzdem einfach immer weiter gehen!"

[Von null auf Flash in einem Klick.] <<< klick
milchreis ist offline   Mit Zitat antworten
Alt 12-02-2012, 16:56   #10 (permalink)
Neuer User
 
Benutzerbild von Woelfchen
 
Registriert seit: Feb 2012
Beiträge: 62
Ich ralls einfach nicht ... ich versteh nur die Hälfte von dem, was du versucht mir zu erklären

Hier ist meine komplette FLA... bitte mach, dass es tut *flenn*

Es geht um das "verflixte Dreieck"... dreieckfunktion heisst die funktion dazu

FLA
Woelfchen ist offline   Mit Zitat antworten
Alt 12-02-2012, 17:15   #11 (permalink)
+ Zimt & Zucker
 
Registriert seit: Mar 2006
Ort: hinterm Mond gleich links
Beiträge: 2.041
Ich kann keine .fla Dateien öffnen.

Anstatt:
PHP-Code:
if (bittefeld.search(reg) == -1)    // wenn der Ausdruck nicht gefunden wurde 
mal das hier versuchen:
PHP-Code:
if (!reg.test(bittefeld.text))    // wenn der Ausdruck nicht gefunden wurde 
__________________
anbei Grüße vom milchreis: Viva la [Silb]
"Selbst wenn uns nur noch der Zynismus treibt, wir werden trotzdem einfach immer weiter gehen!"

[Von null auf Flash in einem Klick.] <<< klick
milchreis ist offline   Mit Zitat antworten
Alt 12-02-2012, 17:36   #12 (permalink)
Neuer User
 
Benutzerbild von Woelfchen
 
Registriert seit: Feb 2012
Beiträge: 62
Talking

JAAA es geht du ahnst warscheinlich gar nicht, wie sehr du mir geholfen hast!
Woelfchen ist offline   Mit Zitat antworten
Alt 13-02-2012, 08:41   #13 (permalink)
Neuer User
 
Benutzerbild von Woelfchen
 
Registriert seit: Feb 2012
Beiträge: 62
Huhu, ich hab jetzt noch mal ein Problem...

so sieht der Code momentan aus:

PHP-Code:
    function pruefen(evt:Event):void
    
{
        var 
reg:RegExp = /Bitte/i;
        

        if (!
reg.test(bittetext.text))   
        
// wenn der Ausdruck nicht gefunden wurde
        
{
           
            
trace("Nö, so nicht!");
            
trace(bittetext.text);
        }
        else  
        {    
            
            
trace("hier kommt dann die Lösung");
            
trace(bittetext.text);
        }


    } 
bittetext ist das Eingabetextfeld. Wenn ich da jetzt was reinschreibe, gibt er aus:

HTML-Code:
Nö, so nicht!
undefined
Er scheint also den Text den ich eingebe gar nicht zu bekommen. Habt ihr ne Idee woran das liegt?
Woelfchen ist offline   Mit Zitat antworten
Alt 13-02-2012, 08:54   #14 (permalink)
Keine Panik
 
Registriert seit: Apr 2010
Ort: Düsseldorf (im ernst)
Beiträge: 1.868
oben hieß das Textfeld bittefeld, jetzt bittetext
korrekt, oder Tippfehler?
__________________
greetz Thomas

plz RTFM & Coding Conventions
thomas_E ist offline   Mit Zitat antworten
Alt 13-02-2012, 09:07   #15 (permalink)
Neuer User
 
Benutzerbild von Woelfchen
 
Registriert seit: Feb 2012
Beiträge: 62
Ich hab es nochmal geändert. Bittefeld war ein Textfeld und ein Kasten drumrum (als ein MC). Ich war mir dann nicht sicher, ob das dann klappt mit dem Textfeld... und habs deswegen nun einzeln gemacht. Deswegen der neue Name.
Woelfchen 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


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Flash CS3] Hochzählen von bestimmtem Wert auf bestimmten Wert knuddelt Flash Einsteiger 2 06-07-2010 11:58
Prüfen ob ein MC ein bestimmten Child hat? NickD ActionScript 3 9 19-01-2008 09:54
Texteingabe (Datum) prüfen Pixelflow Flash MX 2 22-10-2004 10:22
auf texteingabe prüfen... neohacker ActionScript 1 15 12-04-2002 17:46
Texteingabe Wert your-flash.de.v Flash 4 und Flash 5 6 28-02-2002 21:44


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:48 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele