[JavaScript] Eine Frage zu Arrays

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • [JavaScript] Eine Frage zu Arrays

    Hi,

    ich denke, dass Folgendes möglich sein sollte:

    Im Browser gibt man in ein Textfeld eine Zahl ein;
    das JavaScript sucht in einem vorher definiertem Array den Wert raus und gibt in aus.

    Z.B. var array1 = new Array("wert1","wert2","wert3");

    Im Textfeld wird eingegeben 1.
    Das Programm spuckt aus: wert2.

    Hier mal ein Script:

    HTML-Quellcode

    1. <html>
    2. <head>
    3. <title>Arrays</title>
    4. </head>
    5. <body>
    6. <script type='text/javascript'>
    7. var array1 = new Array("Saitensatz","Saitenkurbel","Saitenschneider");
    8. function start()
    9. {
    10. if(document.form1.textfeld.value=="")
    11. {
    12. alert("Bitte eine Auswahl treffen!");
    13. }
    14. else
    15. {
    16. alert(array1[???]);
    17. }
    18. }
    19. </script>
    20. <form name='form1'>
    21. Bitte auswählen: <input type ='text' name='textfeld'></input>
    22. <input type ='button' value='Los!' onClick='start()';></input>
    23. </form>
    24. <ol start='0'>
    25. <li>Saitensatz</li>
    26. <li>Saitenkurbel</li>
    27. <li>Saitenschneider</li>
    28. </ol>
    29. </body>
    30. </html>
    Alles anzeigen


    Was trage ich in die Zeile 20 ein?

    Grüße

    Nachtrag:

    Mit einem prompt Befehl funktioniert es wunderbar:

    HTML-Quellcode

    1. <script type='text/javascript'>
    2. var array1 = new Array("Saitensatz","Saitenkurbel","Saitenschneider");
    3. function start2()
    4. {
    5. var eingabe = prompt("Bitte wählen: ", "1");
    6. if(eingabe=="")
    7. {
    8. alert("Bitte eine Auswahl treffen!");
    9. }
    10. else
    11. {
    12. alert(array1[eingabe]);
    13. }
    14. }
    15. </script>
    16. <input type ='button' value='Los!' onClick='start2()';></input>
    Alles anzeigen


    Hm, es sieht so aus, als ob das Script die Eingabe in das Textfeld nicht speichert?

    Wie bekomm ich die Eingabe in eine Variable geschrieben? (Code1 Zeile 28 )

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von CoBHC ()

  • Hey CoBHC

    Ich habe eben mal drüber nachgedacht und bin auch auf folgende Lösung gekommen:

    Quellcode

    1. <html>
    2. <head>
    3. <title>Arrays</title>
    4. </head>
    5. <body>
    6. <script type='text/javascript'>
    7. switch var
    8. var array1 = new Array("Saitensatz","Saitenkurbel","Saitenschneider");
    9. var textfeldeingabe = document.form1.textfeld.value;
    10. function start()
    11. {
    12. if(document.form1.textfeld.value=="")
    13. {
    14. alert("Bitte eine Auswahl treffen!");
    15. }
    16. else
    17. {
    18. alert(array1[textfeldeingabe]);
    19. }
    20. }
    21. </script>
    22. <form name='form1'>
    23. Bitte auswählen: <input type ='text' name='textfeld'></input>
    24. <input type ='button' value='Los!' onClick='start()';></input>
    25. </form>
    26. <ol start='0'>
    27. <li>Saitensatz</li>
    28. <li>Saitenkurbel</li>
    29. <li>Saitenschneider</li>
    30. </ol>
    31. </body>
    32. </html>
    Alles anzeigen


    Das gleich hat ja Hafner auch schon beschrieben...

    Ob das jetzt so funktioniert kann ich nicht sagen, weil ich das ganze noch nich ausprobiert habe...


    Aufjedenfall musst du den eingetragenen Wert aus dem Textfeld auslesen und dann abfragen, welcher Wert derjenige ist, um den mit dem Array auszugeben...

    Eine andere Möglichkeit wäre natürlich auch das ganze mit einem SWITCH-CASE-Konstrukt zu lösen. Das ist aber natürlich nicht ganz so elegant wie mit den ARRAY

    lg