Html Input in Javascript ausgeben?
Ich würde gerne einen HTML Input Text in Javascript ausgeben lassen.
Dazu habe ich bereits ein Script erstellt, in dem ich einer Variable den Wert des HTML Input gebe(Es geht um die Variable "VorName"), mit Hilfe von "document.getElementById". Allerdings will die Variable den Wert nicht annehmen/ändert ihn nicht.
Ich habe auch onclick angewendet
Warum funktioniert das nicht? ) :
Danke im voraus für Tipps und Hilfe
3 Antworten
Sofern der Text aus dem Eingabefeld in dem h3-Element ausgegeben werden soll, ändere Zeile 59 um:
document.getElementById("EndText").innerText = Alles1 + Alles2;
Da der Text kein HTML beinhaltet, ist das innerText-Property ausreichend. Einen return-Befehl brauchst du nicht, da dieser Rückgabewert vom Aufrufer nicht persistent aufgefangen werden würde.
In Zeile 40 solltest du zudem noch ein Leerzeichen vor das id-Attribut setzen.
Dein Button ruft effektiv nur eine Methode auf, die ganz viele Variablen deklariert und initialisiert, aber damit nichts macht
du packst document.getElementById("EndText").innerHTML = Alles1 + Alles2 an's Ende deiner Infos() Funktion und lässt das return weg. Übrigens werden auch in JavaScript Variablen und Funktionen mit lowerCamelCase benannt
Hier stand Quatsch ...
Aber trotzdem: was ist die Funktion CoolesDing()?
Ich habe einfach einen random-Namen genommen, den ich dann hier für gute Frage.net aber nicht gut fand und dann in Infos() geändert habe xD
Ach so, das war wie ich die Funktion vorher genannt habe(da steht jetzt wie bei den anderen Infos()). Macht aber nichts aus.
Naja mein Gedanke war, Du wolltest den Rückgabewert der Funktion dem h3 Element zuweisen. Dashalb hätte es wegen des Funktionsnamens nicht geklappt.
Btw. mach doch das nächste mal einen richtigen Screenshot bitte ;)
Statt des return nutz mal die Zuweisung zum Element. Das wird vermutlich besser helfen.
Demzufolge sollten deine onclick-Attribute nicht direkt Infos aufrufen.
Du könntest es so formulieren (wobei dir vielleicht noch ein besserer Name für handleClick einfällt):
const outputElement = document.getElementById("EndText");
function handleClick() {
outputElement.innerText = Infos();
}
handleClick();
und handleClick wird zudem als Wert der onclick-Attribute gesetzt.
Oder noch eleganter, da so eine klare Trennung zwischen HTML und JavaScript erfolgt:
1) Du gibst dem Button noch eine ID.
2) Du hängst EventListener an Button und Eingabefeld und entfernst dafür die onclick-Attribute.
document.getElementById("buttonID").addEventListener("click", handleClick);
document.getElementById("inputFieldID").addEventListener("click", handleClick);
Also was kann ich dagegen tun?