| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Jul 2001 Ort: Frankfurt
Beiträge: 79
|
Hallo, ich will folgendes machen. Es gibt verschiedene Arrays, die bestimmte Wörter enthalten. Über ein Eingabefeld wird etwas eingegeben. Kann ein Satz oder Wort sein. Wenn diese Eingabe in einem der Arrays vorhanden ist, soll etwas passieren. Dabei soll es auch bei einer Teilübereinstimmung des Arrayelements zu der Aktion kommen. Vielleicht geht es so: Ich zerlege jedes Array nacheinander in seine Einzelteile und wandel das Einzelteil in einen String, den ich mit indexOf auf eine Übereinstimmung überprüfe. Leider habe ich keine Ahnung, wie ich das machen soll. |
| | |
| | #2 (permalink) |
| Neuer User Registriert seit: Jun 2001 Ort: Stuttgart
Beiträge: 6.415
|
einfach nur überprüfen ob in irgendeinem teil des arrays der string vorhanden ist? PHP-Code: |
| | |
| | #4 (permalink) |
| Neuer User Registriert seit: Jul 2001 Ort: Frankfurt
Beiträge: 79
|
zu früh gefreut. Hab noch ein kleines Problem. Wenn ich das Ganze in einer Schleife abfrage, gibt er für alle ein Übereinstimmung: a1=["hallo","ich","bin","ein","numerisches array"] a2=["wieso","funzt","das","net"] ... for (i=1;i<29;i++) { if (a[i].join(",").indexOf(_root.eingabe)!=-1) { mach was; }} wie kann ich dabei ein else einbauen, das nur passiert, wenn die eingabe in keinem a vorhanden ist? Danke schon mal. |
| | |
| | #5 (permalink) |
| Neuer User Registriert seit: Jun 2001 Ort: Stuttgart
Beiträge: 6.415
| PHP-Code: hab hier _root["a"+i] da es doch einzelne arrays sind und keine mitglieder von a im sinne von a1=[1,2,3] a2=[4,5,6] a=[a1,a2] sonst könntest dir den ganzen act sparen und komplett das a joinen gruß deluxe |
| | |
| | #6 (permalink) |
| Neuer User Registriert seit: Jul 2001 Ort: Frankfurt
Beiträge: 79
|
irgenwie klappt das nicht. Wenn ich mit einer trace- Aktion abfrage in welchem der Elemente es vorkommt, sagt er in allen. Die Abfrage der einzelnen Arrays ist deshalb, weil bei jeder übereinstimmung mit einem Array eine andere Aktion folgen soll. anzahl=28 for (i=1;i<=anzahl;i++){ if (_root["a"+i].join(",").indexOf(_root.eingabe)!=-1) { //vorhanden _root.eingabe =""; // Eingabe wieder löschen trace ("In nummer "+i+" vorhanden") }else{ //nicht vorhanden im teilelement aX n++ } } if(n>=anzahl){ //0 übereinstimmungen trace ("nix da"); } |
| | |
| | #7 (permalink) |
| Neuer User Registriert seit: Jun 2001 Ort: Stuttgart
Beiträge: 6.415
|
du solltest natürlich überprüfen ob eingabe definiert ist daher eingabe.length>0 denn nen udnefined wird zu nem leeren string konvertiert und nen leerer string ist bekanntlich am anfang von jedem string zu finden, daher wird nicht -1 sondern 0 zurückgegeben, abfrage ergibt true deluxe |
| | |
| | #8 (permalink) |
| Neuer User Registriert seit: Jul 2001 Ort: Frankfurt
Beiträge: 79
|
Er erkennt die richtige eingabe. Wenn ich die Eingabe auch in der trace aktion ausgeben lasse, nimmt er die richtige, trozdem kommt in der Ausgabe, dass das eingegebene Wort in allen Arrays vorkommt. Also auch eine if (eingabe.lenth>0) drumrum hilft leider nicht. |
| | |
| | #11 (permalink) | |
| Neuer User Registriert seit: Jun 2001 Ort: Stuttgart
Beiträge: 6.415
|
haste das trace(_root["a"+i].join(",").indexOf(_root.eingabe)) auch in die schleife gesetzt? wenn undefined kommt findet er das array nich Zitat:
solltest denk ich mal alle pfade überprüfen deluxe | |
| | |
| | #12 (permalink) |
| Neuer User Registriert seit: Jul 2001 Ort: Frankfurt
Beiträge: 79
|
ok. das mit dem _root.eingabe war als Variable des Textfeldes definiert. Aber dein Tipp mit den Pfaden war nicht schlecht. Die Arrays waren nur als a1 - a28 definiert und nicht als _root.a1... :-) Aber jetzt gibt es noch ein Problem. Das ganze sollte so laufen, das die Eingabe auch mehr enthalten kann. Also praktisch umgekehrt. Aber das funktioniert leider nicht: if (_root.eingabe.indexOf(_root["a"+i].join(","))!=-1) gruß, oliver |
| | |
| | #13 (permalink) |
| Neuer User Registriert seit: Jun 2001 Ort: Stuttgart
Beiträge: 6.415
|
puhh du schaffst einen nun siehts so aus dein satz eingabe="hallo bin ich da" splitten str=eingabe.split(" ") nun haste in str nen arry mit den 4 wörtern jetzt mußte dein altes script um eine umschließende forschleife erweitern, damit du alle wörter durchlaufen kannst im sinne von ActionScript:
|
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |