ttatoni: Vokabel Trainer JavaScript?

Ich will ein Vokabeltrainer programmieren. Wenn ich in das Input Feld gehe und den eigentlich richtigen Wert eintippe heißt es immer es sei falsch.

Mein Code:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    
</head>
<body>
   <input type="text" name="test" id="vokabel"> 
   <button onclick="pruefen()">Prüfen</button>
<script> 
var hallo = "hello";


function pruefen() {
 var test =    document.getElementsByName("vokabel").value;
    if(test == hallo){
        window.alert("Richtig");


    }
    else {
        window.alert("Falsch!");
    }
}
</script>
</body>
</html>


  1. Tach!

    Ich will ein Vokabeltrainer programmieren. Wenn ich in das Input Feld gehe und den eigentlich richtigen Wert eintippe heißt es immer es sei falsch.

    Da stimmt wohl Wunsch und Wirklichkeit nicht überein. Probier es mit Debugging. Öffne die Console des Browsers und schau dir mit console.log() an, was in den Variablen test und hallo wirklich drinsteht.

    dedlfix.

  2. Hallo ttatoni,

    überprüfe doch einmal, ob es tatsächlich ein Element mit dem Namen "vokabel" gibt.

    Grüße, Martl

    1. Hallo,

      überprüfe doch einmal, ob es tatsächlich ein Element mit dem Namen "vokabel" gibt.

      Und überprüfe bitte anschließend, ob die Methode getElementsByName wirklich ein einzelnes Value zurückgibt oder nicht doch etwas anderes.

      Vielleicht ist eine andere, dort verwendete, Methode sinnvoller?

      Gruß
      Kalk

  3. Hallo ttatoni,

    zum einen möchte in in Martls Antwort eine Fettschrift hinzufügen:

    überprüfe doch einmal, ob es tatsächlich ein Element mit dem Namen "vokabel" gibt.

    Zum anderen möchte ich Dir empfehlen, das Meta-Element mit X-UA-Compatible zu entfernen. Das betrifft nur den Internet Explorer und den alten Edge-Browser, die beide irrelevant sind. Beim Edge eh nur in Ausnahmefällen. Und beim IE ist die Edge-Angabe ohnehin das Normalverhalten (sofern nicht irgendwo rumkonfiguriert wird). Du verwendest korrekterweise <!doctype html>, und das reicht heutzutage. Wer mit einem IE unter Version 11 rumrennt, ist selbst schuld. Wer mit einem IE rumrennt, der auf "Kompatibilitätsmodus" gezwungen ist (also IE7), ist selbst schuld.

    Rolf

    --
    sumpsi - posui - obstruxi
  4. Liebe(r) ttatoni,

    Ich will ein Vokabeltrainer programmieren.

    das ist keine leichte Aufgabe. Viel Mut und Geduld wünsche ich Dir!

    Wenn ich in das Input Feld gehe und den eigentlich richtigen Wert eintippe heißt es immer es sei falsch.

    Dein Trainer ist aber ein ganz scharfer Hund!

     var test = document.getElementsByName("vokabel").value;
    

    Du willst noch einmal nachlesen, was die Methode getElementsByName tatsächlich zurückliefert, ehe Du davon ausgehst, dass ihr Rückgabewert eine Eigenschaft value kennt und die dann auch genau das enthält, was Du im Moment nur hoffend vermutest...

    Liebe Grüße

    Felix Riesterer