JavaScript will nicht (Text in Element ändern per onclick)?
Hallo alle miteinander,
ich tüftle derzeit daran, den Text eines Elements zu ändern, sobald im unteren Menü ein Feld angeklickt wurde. Das Ganze funktioniert jedoch nicht und ich verstehe nicht wirklich warum. Könnt ihr mir helfen den Fehler zu finden?
Die wli-Variablen sollen den neuen Text enthalten, da ich das für jemanden programmiere, der keine Ahnung von JavaScript hat und ich es somit vereinfachen wollte, das er den Text ohne etwas kaputt zu machen, bearbeiten kann.
Hier einmal der Code, an dem ich herumprobiert habe. Allerdings ohne den CSS-Teil:
<script type="text/javascript">
wli1 = "wli1";
wli2 = "wli2";
wli3 = "wli3";
wli4 = "wli4";
wli5 = "wli5";
wli6 = "wli6";
function fwli1() {
document.getElementById("werdegangcon").value = wli1;
}
function fwli2() {
document.getElementById("werdegangcon").value = wli2;
}
function fwli3() {
document.getElementById("werdegangcon").value = wli3;
}
function fwli4() {
document.getElementById("werdegangcon").value = wli4;
}
function fwli5() {
document.getElementById("werdegangcon").value = wli5;
}
function fwli6() {
document.getElementById("werdegangcon").value = wli6;
}
</script>
<div class="conh15">
<div class="con100">
<div class="con_top center nummer">
<h3>Werdegang</h3>
</div>
<div class="con_mid center" id="werdegangcon">
2394 Abschluss des Abiturs mit Auszeichnung</br>
2394 Job als Haustechnikerin
</div>
<div class="con_bot center">
<ul class="werdegang">
<li id="weli1" onclick="fwli1()">vor der Akademie</li>
<li id="weli2" onclick="fwli2()">2395</li>
<li id="weli3"onclick="fwli3()">2399</li>
<li id="weli4"onclick="fwli4()">2401</li>
<li id="weli5"onclick="fwli5()">2402</li>
<li id="weli6" onclick="fwli6()">2403</li>
</ul>
</div>
</div>
</div>
was sagt den die browser console , was für ein fehler auftritt . lern mal debuggen , dann weisst du auch wo der fehler und was für einer es ist .
Da steht nur das fwli1-fwli6 undefined wären. Und ja ich weiß in dem Beispiel hier fehlen grad die () hinter den fwli1-fwli6 ich habs mit klammern getestet logischer weise.
1 Antwort
funktionen sehen so aus
function functionsname() { .... }
und werden auch so aufgerufen
functionsname()
eigentlich müsste da erst ein ganz andere fehler stehen
weil
<script type="text/javascript" >
}
wli1="wli1";
wieso steht da eine geschlossene geschweifte klammer , ergo bricht da das javascript schon mit einem fehler ab und die function wird gar nicht mehr geparst .
Das sind alles Fehler die ich eigentlich bereits behoben hatte....scheinbar hat er es falsch kopiert. Jedenfalls hab ichs auch ohne diese Fehler getestet. das Ergebnis bleibt gleich.
ok aber wie kommst du auf .value , ist doch gar kein input feld
document.getElementById("werdegangcon").innerHTML
ist das richtige attribut .
Hab ich auch bereits getestet gehabt. Auch mit .innerHTML geht es nicht ^^ ich sitz da schon ein paar Stunden drann^^ in der Zeit hab ich auch ausprobiert nicht über onclick="" sondern auch rein über javascript mit .click() und auch addEventListenter(click, funktion) ausprobiert. Deswegen haben die LI elemente auch noch die ID, da ich all das schon versucht hab ^^
so ein unfug, ich habs doch gerade gemacht lol .
aber so unsauber wie du arbeitest wundert mich eh nix .
hier wie man es richtig macht .
Seltsam ich hatte seit knapp 20 minuten eins zu eins das selbe hier stehen und es ging nicht. Das von dir geht zwar nun lokal aber auf der seite bei forumieren.de (dem forum wo es eingebungen sein soll) geht es wieder nicht XD lustig
Ok nvm hatte noch nen fehler im html teil
Danke, ich weiß. Das nette System hier hat mich das nicht mehr nachträglich ändern lassen ^^ Schließlich sind die Funktionen ja auch so deklariert wie du es hier auch beschrieben hast.