2017-01-18 4 views
1

Ich habe drei Schaltflächen unten und die Schaltfläche markiert +1, sollte Brieftasche um eins erhöhen. Die Schaltfläche mit der Bezeichnung Transfer money to Bank sollte den Brieftaschenbetrag in die Bank verschieben und die Brieftasche auf 0 zurücksetzen. Es wird jedoch nichts angerufen oder funktioniert. Ich bin absolut festgefahren. Bitte helfen Sie.Ich kann nicht verstehen, warum mein Code nicht ausgeführt wird

<html> 
    <head> 
     <title>Area 52</title> 
    </head> 
    <body> 
     <h1><center>Area 52</center></h1> 
     <p><center><p Id="name">User</p><p>Is currently logged on</p></center><p> 
    <script> 
     var money=0 
     var bank=0 
     var Money_handler(money,bank,op){ 
     alert("!") 
     if (op=="add"){ 
      money+=1 
      document.getElementById('wallet').innerHTML = money; 
      return money; 
     } 
     if (op=="bank"){ 
      bank=bank+money 
      document.getElementById('bank').innerHTML = bank; 
      money=0 
      document.getElementById('wallet').innerHTML = money; 
      return money 
     } 

     } 
     var namer=function(){ 
     var x=prompt("What is your name?"); 
     document.getElementById('name').innerHTML = x; 
     } 
     </script> 
    <center> 
     <button type="button" onclick=money=Money_handler(money,bank,"add")>+1</button> 
     <button type="button" onclick=namer()>Enter username</button> 
     <button type="button" onclick=Money_handler(money,bank,"bank")>Transfer money to Bank</button> 
     <p Id="wallet">Wallet: $0</p> 
     <p Id="bank">Bank: $0</p> 
    </center> 
    </body> 
</html> 
+4

Sie haben viele Syntaxfehler und fehlende Semikolons usw. Ein guter Ausgangspunkt ist die JavaScript-Konsole Ihres Browsers, die Ihnen viele dieser Probleme zeigt. Sie sollten auch zu einem Texteditor wechseln, der für das Schreiben von JS erstellt wurde. Dadurch werden Syntaxprobleme für Sie hervorgehoben. –

+1

Schauen Sie in der Fehlerkonsole Ihres Browsers nach. Der Code weist mehrere Syntaxfehler auf. – David

+0

'var Money_handler (Geld, Bank, op) {' ... '}' ist ungültig. Verwenden Sie die [browser console] (http://webmasters.stackexchange.com/q/8525) (drücken Sie 'F12') und lesen Sie die Fehler. Verwenden Sie [JSHint] (http://jshint.com/), um sofort Probleme mit Ihrem Code zu finden. – Xufox

Antwort

0

Sie einfach anstelle einer Funktion eine var verwenden:

function Money_handler(money,bank,op){ 

EDIT: Wenn Sie das Geld aktualisieren Sie den Rest der Zeile vergessen:

.innerHTML = "Wallet: $"+money; 

Sie musste dies an allen 3 Stellen mit Wallet/Bank ändern.

+0

ah, lol ich bin so mit anderen Teilen des Codes gefangen worden, ich habe völlig vergessen, den Funktionsteil hinzuzufügen, Prost! – Mental

+0

Wenn Sie 'var' verwenden möchten, können Sie auch' var money_handler = Funktion (Geld, Bank, op) {...} 'Oder Sie können auch die neuen Lambda-Funktionen verwenden:' var money_handler = (Geld, Bank , op) => {...} 'Deine Wahl. – user3685285

+0

Ich war mir dieser Änderung bewusst, aber ich habe mich nicht darum gekümmert, bis ich das ursprüngliche Problem beheben konnte – Mental

0

Dies sollte funktionieren. Neben dem Funktionsschlüsselwort haben Sie auch die Anführungszeichen für den onclick-Attributwert verpasst.

<html> 
 
<head> 
 
    <title>Area 52</title> 
 
</head> 
 
<body> 
 
    <h1><center>Area 52</center></h1> 
 
    <p><center><p Id="name">User</p><p>Is currently logged on</p></center><p> 
 
<script> 
 
var money = 0 
 
var bank = 0 
 
var Money_handler= function(money, bank, op) { 
 
    alert("!") 
 
    if (op == "add") { 
 
    money += 1 
 
    document.getElementById('wallet').innerHTML = money; 
 
    return money; 
 
    } 
 
    if (op == "bank") { 
 
    bank = bank + money 
 
    document.getElementById('bank').innerHTML = bank; 
 
    money = 0 
 
    document.getElementById('wallet').innerHTML = money; 
 
    return money 
 
    } 
 

 
} 
 
var namer = function() { 
 
    var x = prompt("What is your name?"); 
 
    document.getElementById('name').innerHTML = x; 
 
} 
 
</script> 
 
<center> 
 
    <button type="button" onclick="Money_handler(money,bank,'add');">+1</button> 
 
    <button type="button" onclick="namer()">Enter username</button> 
 
    <button type="button" onclick="Money_handler(money,bank,'bank')">Transfer money to Bank</button> 
 
    <p Id="wallet">Wallet: $0</p> 
 
    <p Id="bank">Bank: $0</p> 
 
</center> 
 
</body> 
 
</html>

Hinweis: ich die syntaktischen Fehler nur dann korrigiert. Ich denke du solltest an Logik arbeiten.

Verwandte Themen