Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 07-10-2003, 12:58   #1 (permalink)
pipi
Gast
 
Beiträge: n/a
Formular: prüfen ob Eingabetext leer ist

Hallo zusammen,

Ich habe das Formulartutorial durchgearbeitet und es funktioniert soweit alles, bis auf die Überprüfung ob in einem bestimmten Textfeld etwas eingetragen wurde oder nicht.

Und zwar können die Daten erst übermittelt werden wenn das besagte Feld leer bleibt, und nicht anders herum wie es gewünscht ist.

Hat jemand eine knappe übersichtliche Funktion die einem die Textfeldeingabe auf die korrekte Eingabe hin prüft? Also ausschließt das jemand nichts eingefüllt hat, oder nur Leerzeichen?
Hier ist ein Ausschnitt von meinem Quelltext:


Hier die Funktion die nachfolgend aufgerufen wird:
String.prototype.leer = function() {
for (i=0; i<this.length; i++) {

//das Leerzeichen besitzt den Code 32

if (this.charCodeAt(i)>32) {
return true;
}else{
return false;
}
}
};


Hier die Abfrage beim Betätigen des Absendebuttons:
button_senden.onRelease = function() {
if (_root.name.text.leer() ){
_root.mc_fehler._visible = true;
} else {//sende die Daten an das PHP-Script}
};




Danke euch!
  Mit Zitat antworten
Alt 07-10-2003, 13:14   #2 (permalink)
filmtip: snatch
 
Registriert seit: Oct 2001
Beiträge: 1.562
hi

schau dir mal TextField.length an !

mfg skyla
Skyla ist offline   Mit Zitat antworten
Alt 07-10-2003, 13:25   #3 (permalink)
pipi
Gast
 
Beiträge: n/a
Sorry, da darfst du gerne etwas genauer werden, denn den Quelltext schaue ich mir schon den ganzen Vormittag an.

Danke!
  Mit Zitat antworten
Alt 07-10-2003, 15:56   #4 (permalink)
pipi
Gast
 
Beiträge: n/a
Hallo

Weiß jemand Hilfe?
Vielleicht hat jemand von euch auch schon mal sowas benötigt.

Danke
  Mit Zitat antworten
Alt 07-10-2003, 17:06   #5 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Hello,

das Problem sind deine "returns"- da wird die Funktion sofort abgebrochen, sobald eine der Bedingungen erfüllt ist.
Versuchs mal so - ist vielleicht nicht die schickste Lösung, dürfte aber gehen (inspired by T.Decay):
ActionScript:
  1. this.checkBlanks = function(whText) {
  2.     while (whText.charCodeAt(i) == 32) {
  3.         whText = whText.slice(1);
  4.     }
  5.     if(whText == "") {
  6.         return true;
  7.     } else {
  8.         return false;
  9.     }
  10. }

Gruß,
Tom
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)
sonar ist offline   Mit Zitat antworten
Alt 07-10-2003, 17:38   #6 (permalink)
_//\\#//\\_
 
Benutzerbild von warrantmaster
 
Registriert seit: Jan 2003
Beiträge: 7.060
ActionScript:
  1. _root.onMouseUp = function() {
  2.     txt.text = txt.text.split(" ").join("");
  3.     if (txt.text == "") {
  4.         trace("leer");
  5.     } else {
  6.         trace("voll");
  7.     }
  8. };
warrantmaster ist offline   Mit Zitat antworten
Alt 07-10-2003, 18:17   #7 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Red face

Aha, schicke Kurzlösung, für diesen Fall passend. Aber "Unschönheit" dabei: Der ursprüngliche Text wird geändert...
Aber bei mir war auch eine Unschönheit drin: Es funktioniert zwar trotzdem, aber "i" ist undefined (war noch ein Relikt aus einer for-Loop).
Richtig wäre also:
ActionScript:
  1. this.checkBlanks = function(whText) {
  2.     while (whText.charCodeAt(0) == 32) {
  3.         whText = whText.slice(1);
  4.     }
  5.     if(whText == "") {
  6.         return true;
  7.     } else {
  8.         return false;
  9.     }
  10. };

Tom
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)

Geändert von sonar (07-10-2003 um 18:18 Uhr)
sonar ist offline   Mit Zitat antworten
Alt 07-10-2003, 18:33   #8 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Hier wäre noch die Kombilösung aus warrantmasters und meiner:
ActionScript:
  1. this.checkBlanks = function(whText) {
  2.     whText = whText.split(" ").join("");
  3.     if(whText == "") {
  4.         return true;
  5.     } else {
  6.         return false;
  7.     }
  8. };
  9. trace(checkBlanks(this.txt.text));

Tom
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)
sonar ist offline   Mit Zitat antworten
Alt 07-10-2003, 19:26   #9 (permalink)
_//\\#//\\_
 
Benutzerbild von warrantmaster
 
Registriert seit: Jan 2003
Beiträge: 7.060
@sonar
...hab ich mit gerechnet...

simpelste lösung:

den text in einen string zwischenspeichern und den überprüfen.

grz
warrantmaster ist offline   Mit Zitat antworten
Alt 07-10-2003, 19:59   #10 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
@warrantmaster: Also wie jetzt? Hast du damit gerechnet oder hast du da mitgerechnet?
Und warum den Text in einem String zwischenspeichern? Mann könnte doch mit meiner/deiner/unserer Funktion ganze Armaden von Textfeldern checken, oder? Oder wie...
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)
sonar ist offline   Mit Zitat antworten
Alt 07-10-2003, 20:00   #11 (permalink)
dummschnack
 
Benutzerbild von Chino
 
Registriert seit: Mar 2002
Ort: Essen
Beiträge: 1.778
ActionScript:
  1. TextField.prototype.isEmpty = function () {
  2.     var str = this.text;
  3.     return str.split (" ").join ("") == "";
  4. };
  5. // Aufruf
  6. trace (deinTextFeld.isEmpty ());



Gruss, Chino
__________________
» flashbored since 2006
» my band: radioghost
Chino ist offline   Mit Zitat antworten
Alt 07-10-2003, 20:05   #12 (permalink)
_//\\#//\\_
 
Benutzerbild von warrantmaster
 
Registriert seit: Jan 2003
Beiträge: 7.060
@chino...

@sonar
yep, eine "echte" funktion ist ja immer das beste.
meinte, ich hab "gewußt", das der einwand mit dem
veränderten text kommen wird.
warrantmaster ist offline   Mit Zitat antworten
Alt 07-10-2003, 20:06   #13 (permalink)
dummschnack
 
Benutzerbild von Chino
 
Registriert seit: Mar 2002
Ort: Essen
Beiträge: 1.778
P.S.

Hier noch der komplette Code inkl. Button-script:

ActionScript:
  1. TextField.prototype.isEmpty = function () {
  2.     var str = this.text;
  3.     return str.split (" ").join ("") == "";
  4. };
  5. // Aufruf
  6. button_senden.onRelease = function () {
  7.     if (_root.name.isEmpty ()) {
  8.         // sende die Daten an das PHP Script
  9.     } else {
  10.         _root.mc_fehler._visible = true;
  11.     }
  12. };

Gruss, Chino
__________________
» flashbored since 2006
» my band: radioghost
Chino ist offline   Mit Zitat antworten
Alt 07-10-2003, 20:06   #14 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Thumbs up

Huiui... es musste ja jemand mit "prototype" anrücken. Aber sääähr schick, Chino.
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)
sonar ist offline   Mit Zitat antworten
Alt 07-10-2003, 20:10   #15 (permalink)
dummschnack
 
Benutzerbild von Chino
 
Registriert seit: Mar 2002
Ort: Essen
Beiträge: 1.778
Hehe, Danke!

[OT] Huhuh Warrant [OT]

Gruss, Chino
__________________
» flashbored since 2006
» my band: radioghost
Chino 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 12:03 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele