molily: Spezifisch: Texthighlight bei Richtig/Falsch Antwort

Beitrag lesen

Hallo,

inputText = document.getElementById("inputText")
    var innerHTML = inputText.innerHTML

Wenn du ein Formularfeld hast, solltest du es mit der value-Eigenschaft des input-Elements auslesen. Nicht mit einer innerHTML-Eigenschaft irgendeines Elternelements. Der Wert des Formularfeldes ist nämlich kein Textknoten im DOM-Baum, also taucht er auch nicht in innerHTML auf.

Das geht so:

<input type="text" id="input">

var value = document.getElementById('input').value;

http://de.selfhtml.org/javascript/objekte/elements.htm#value

Einfacher ist eine Ersetzung mit regulären Ausdrücken.

value = value.replace(textToHighlight, "<span class='highlight'>$&</span>");

Ersetzt den textToHighlight durch sich selbst, aber eingefasst in das span-Element.

http://de.selfhtml.org/javascript/objekte/string.htm#replace
http://de.selfhtml.org/javascript/objekte/regexp.htm

Mathias