Mit Brackets, Voting geht nicht

Chris0101

Neues Mitglied
Hallo meine lieben,

ich arbeite mit dem Programm "Brackes" und lerne seit wenigen Wochen mit der App "Mimo". In der App habe ich jetzt die Aufgabe bekommen diesen Code zu Programmieren (steht unten)

Leider funktioniert der Code nicht, es werden mir Fehlermeldungen genannt die ich nicht verstehe. Weiß jemand wo hier mein Fehler liegt?
Habe mir über die App auch mal den Link zugesendet, hier funktioniert das up- und down voting: https://mimo.run/2c355g/index.html

Jemand eine Idee? Ich verzweifle schon =(

HTML:
<!doctype html>

<html>

<body>

  <h1>Bear of the Year</h1>

  <img src="[URL]https://mimo.app/r/panda.png[/URL]">

  <p><em>Nom nom nom</em></p>

  <p id="votes">3 votes</p>

  <button onclick="upvote()">Upvote</button>

  <button onclick="downvote()">Downvote</button>

  <script src="script.js"></script>

</body>

</html>







Java:



Javascript:
var counter = 3;



function upvote() {

counter  = counter + 1;



document.getElementById("votes").innerHTML = counter + " votes";

}



function downvote(){

counter = counter - 1;



document.getElementById("votes").innerHTML = counter + " votes";

}
 

Anhänge

  • Bildschirmfoto 2019-09-25 um 18.57.47 (2).png
    Bildschirmfoto 2019-09-25 um 18.57.47 (2).png
    118,6 KB · Aufrufe: 43
  • Bildschirmfoto 2019-09-25 um 18.58.04 (2).png
    Bildschirmfoto 2019-09-25 um 18.58.04 (2).png
    96,9 KB · Aufrufe: 36

mrBrown

Super-Moderator
Mitarbeiter
Das ist JavaScript und hat nichts mit Java zu tun, ich verschieb's mal ins passende Forum :)

Und nutz für Code doch bitte Code-Tags ([code]...[/code])
 

krgewb

Top Contributor
Habe mir über die App auch mal den Link zugesendet, hier funktioniert das up- und down voting: https://mimo.run/2c355g/index.html
Bei mir ändert sich die Zahl nicht, wenn ich auf Downvote klicke.

Das liegt daran, dass deine js-Datei so aussieht:
Javascript:
var counter = 3;

function upvote() {
counter  = counter + 1;

document.getElementById("votes").innerHTML = counter + " votes";
}

Die Meldung vom Entwicklertool des Browsers:
Uncaught ReferenceError: downvote is not defined
 

M.L.

Top Contributor
In den Bildschirmfotos hätte man besser die Warn- / Fehlermeldungen gezeigt. Das von Brackets verwendete JSLint gibt hier nämlich Hinweise auf stylistische oder syntaktische Ungenauigkeiten / Fehler im Javascriptcode aus. Obwohl der gezeigte Quellcode in der Form lokal und mit einem Webserver funktioniert, sollte man -lt. JSLint- in der script.js einige Punkte verbessern:
Javascript:
'use strict';
var counter = 3;

function upvote() {
    counter  = counter + 1;
    document.getElementById("votes").innerHTML = counter + " votes";
}
// counter und document.....  in die 5. Spalte versetzen
function downvote() {
counter = counter - 1;
document.getElementById("votes").innerHTML = counter + " votes";
}
Die Fehlermeldungen von wg. "...defined but never used" dürfte an der Unkenntnis der Zieldatei "Voting.html" liegen
 

Oben