# Mit Brackets, Voting geht nicht



## Chris0101 (25. Sep 2019)

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 =(


```
<!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:




```
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";

}
```


----------



## mrBrown (25. Sep 2019)

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 (26. Sep 2019)

Chris0101 hat gesagt.:


> 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:

```
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. (26. Sep 2019)

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:

```
'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


----------

