2017-10-13 15 views
0

Ich versuche, einen einfachen Rechner mit Javascript zu bauen und ich habe Probleme beim Löschen von Display-Inhalten.Javascript Rechner einfache klare Funktion nicht funktioniert

Kann jemand bitte meinen Code ansehen und lassen Sie mich wissen, warum es nicht funktioniert.

Warum wird der Anzeigewert nicht auf eine leere Zeichenfolge eingestellt? Was mache ich falsch? Passt auf euch auf.

function testing(button){ 
 
    var x = button.value; 
 
    document.getElementById("display").innerHTML+=x; 
 
} 
 

 
function clear() { 
 
    document.getElementById("display").innerHTML = ""; 
 
}
<body> 
 
    <input type="button" id="one" value="1" onClick="testing(this)"> 
 
    <input type="button" id="one" value="2" onClick="testing(this)"> 
 
    <input type="button" id="one" value="3" onClick="testing(this)"> 
 
    <input type="button" id="clear" value="clear" onClick="clear()"> 
 

 
    <h1 id="display"></h1> 
 
    </body>

Antwort

6

Ihr Methodenname ist conflicting with the id value, es ist einfach zu clear1 ändern und es sollte funktionieren.

 function testing(button){ 
 
     var x = button.value; 
 
     document.getElementById("display").innerHTML+=x; 
 
     } 
 

 
     function clear1(){ 
 
     document.getElementById("display").innerHTML = ""; 
 
     }
<body> 
 
    <input type="button" id="one" value="1" onClick="testing(this)"> 
 
    <input type="button" id="one" value="2" onClick="testing(this)"> 
 
    <input type="button" id="one" value="3" onClick="testing(this)"> 
 
    <input type="button" id="clear" value="clear" onClick="clear1()"> 
 

 
    <h1 id="display"></h1> 
 
    </body>

+0

Dank für den Tipp. – Kingsfull123

1

Das Problem ist, dass es eine document.clear Funktion, den Vorrang vor dem ursprünglichen Anruf stattfindet. Sie können dies testen, indem Sie in die Konsole eingeben.

Versuchen Sie, Ihre Funktion in clearDisplay umzubenennen.

function testing(button){ 
 
    var x = button.value; 
 
    document.getElementById("display").innerHTML+=x; 
 
} 
 

 
function clearDisplay(){ 
 
    document.getElementById("display").innerHTML = ""; 
 
}
<body> 
 
    <input type="button" id="one" value="1" onClick="testing(this)"> 
 
    <input type="button" id="one" value="2" onClick="testing(this)"> 
 
    <input type="button" id="one" value="3" onClick="testing(this)"> 
 
    <input type="button" id="clearDisplay" value="clear" onClick="clearDisplay()"> 
 

 
    <h1 id="display"></h1> 
 
</body>

+0

danke, das wusste ich nicht. Prost – Kingsfull123

Verwandte Themen