Html Input in Javascript ausgeben?

3 Antworten

Hier stand Quatsch ...

Aber trotzdem: was ist die Funktion CoolesDing()?


Newyorkshire 
Fragesteller
 27.06.2021, 19:59

Ach so, das war wie ich die Funktion vorher genannt habe(da steht jetzt wie bei den anderen Infos()). Macht aber nichts aus.

0
Fridleif  27.06.2021, 20:01
@Newyorkshire

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.

0
regex9  27.06.2021, 20:10
@Newyorkshire

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);
1
Newyorkshire 
Fragesteller
 27.06.2021, 20:01

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

0

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.


Newyorkshire 
Fragesteller
 27.06.2021, 20:07

Danke, es klappt😄🤗 danke danke danke xD

0

Dein Button ruft effektiv nur eine Methode auf, die ganz viele Variablen deklariert und initialisiert, aber damit nichts macht


Newyorkshire 
Fragesteller
 27.06.2021, 20:01

Also was kann ich dagegen tun?

0
Timpanyy  27.06.2021, 20:09
@Newyorkshire

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

1