MrEhawk82
MrEhawk82

Reputation: 819

Backspace on calculator using JavaScript

i am making a calculator. But i am having trouble making the backspace button. I found this: Delete last character from input, however I would like to stick with JavaScript only without jquery. Here is what I have so far...

HTML

<div class="box">
<center><div class="display"><input type="text" size="18" id="d" readonly ></div></center>
<div class="keys"><center>
    <p><input type="button" class="button grey" value="%" onclick='c("not defined ")'><input type="button" class="button grey" value="&#8730;" onclick='c("not defined ")'><input type="button" class="button grey" value="&#8592;" onclick='back()'><input type="button" class="button grey" value="/" onclick='math("/")'></p>
    <p><input type="button" class="button black" value="7" onclick='math("7")'><input type="button" class="button black" value="8" onclick='math("8")'><input type="button" class="button black" value="9" onclick='math("9")'><input type="button" class="button grey" value="*" onclick='math("*")'></p>
    <p><input type="button" class="button black" value="4" onclick='math("4")'><input type="button" class="button black" value="5" onclick='math("5")'><input type="button" class="button black" value="6" onclick='math("6")'><input type="button" class="button grey" value="-" onclick='math("-")'></p>
    <p><input type="button" class="button black" value="1" onclick='math("1")'><input type="button" class="button black" value="2" onclick='math("2")'><input type="button" class="button black" value="3" onclick='math("3")'><input type="button" class="button grey" value="+" onclick='math("+")'></p>
    <p><input type="button" class="button black" value="0" onclick='math("0")'><input type="button" class="button black" value="." onclick='math(".")'><input type="button" class="button black" value="C" onclick='c("")'><input type="button" class="button green" value="=" onclick='e()'></p>
<center></div>

JavaScript

function c(val) {
    document.getElementById("d").value=val;
}
function math(val) {
    document.getElementById("d").value+=val;
}
function back() {
    //delete last letter function.
}
function e() { 
try { 
    c(eval(document.getElementById("d").value)) 
} 
catch(e) {
    c('Error') 
} 
}

Upvotes: 1

Views: 32894

Answers (1)

Juank
Juank

Reputation: 6196

function back() {
    var value = document.getElementById("d").value;
    document.getElementById("d").value = value.substr(0, value.length - 1);
}

Upvotes: 9

Related Questions