Billz
Billz

Reputation: 1

How to implement basic calculator in HTML & Javascript

I am trying to write an html code to add, subtract, divide or multiply two or more numbers, but I am having difficulties... (I tried adding a bit of CSS just to make it look good, but I am more concerned about the code running first). I am also using Javascript. What am I doing wrong please?

<html>
<head>

<body bgcolor="FFFCC">
<table border="0" cellpadding="0"
cellspacing="1" sytyle ="border-collapse. collapse"
bordercolor="#1111" width ="50%">

<hi><p align="center">CALCULATOR</p></hi><br>
<script language= "javascript">
function ADD()
{
var first=parsefloat(txtNumber1.value);
var second=parsefloat(txtNumber2.value);
var Ans =first+second;
txtAnswer.value=Ans;
}

function MINUS()
{
var first=parsefloat(txtNumber1.value);
var second=parsefloat(txtNumber2.value);
var Ans =first-second;
txtAnswer.value=Ans;

function DIVIDE()
{
var first=parsefloat(txtNumber1.value);
var second=parsefloat(txtNumber2.value);
var Ans =first/second;
txtAnswer.value=Ans;
}

function MULTIPLY()
{
var first=parsefloat(txtNumber1.value);
var second=parsefloat(txtNumber2.value);
var Ans =first*second;
txtAnswer.value=Ans;
}
function MODULO()
{
var first=parsefloat(txtNumber1.value);
var second=parsefloat(txtNumber2.value);
var Ans =first%second;
txtAnswer.value=Ans;
}

</script> 
</head>



<input type ="text" name="txtNumber1"/><br>
<input type ="text" name="txtNumber2"/><br>
<input type ="button" name="butAnswer" 
value="+" onclick="ADD()"/>
<input type ="button" name="butAnswer"
value="-" onclick="MINUS()"/>
<input type ="button" name="butAnswer"
value="/" onclick="DIVIDE()"/>
<input type ="button" name="butAnswer"
value="*" onclick="MULTIPLY()"/>
<input type ="button" name="butAnswer"
value="%" onclick="MODULO()"/><br>
<input type ="text" name="txtAnswer"/>

</table>
</body>
</html>

Upvotes: 0

Views: 135

Answers (3)

Sultan Khan
Sultan Khan

Reputation: 318

  <html>
<head>

</head>
<body bgcolor="FFFCC">

  <table width="50%" align="center">
    <tr><td colspan="2"><hi><p>CALCULATOR</p></hi></td></tr>
    <tr><td><input type ="text" id="txtNumber1" placeholder="Enter first number"/><input type ="text" id="txtNumber2" placeholder="Enter second number"/> <input type ="text" id="txtAnswer"/></td>
<tr><td><input type ="button" name="butAnswer" 
value="+" onclick="ADD()"/>
<input type ="button" name="butAnswer"
value="-" onclick="MINUS()"/>
<input type ="button" name="butAnswer"
value="/" onclick="DIVIDE()"/>
<input type ="button" name="butAnswer"
value="*" onclick="MULTIPLY()"/>
<input type ="button" name="butAnswer"
       value="%" onclick="MODULO()"/></td></tr>
    <tr>

</table>

<script language= "javascript">
var answer=document.getElementById("txtAnswer")
function ADD()
{

  var number1=document.getElementById("txtNumber1")
  var number2=document.getElementById("txtNumber2")
    number1=parseFloat(number1.value)
    number2=parseFloat(number2.value)
var Ans =number1+number2;
answer.value=Ans;
}

function MINUS()
{

  var number1=document.getElementById("txtNumber1")
  var number2=document.getElementById("txtNumber2")
    number1=parseFloat(number1.value)
    number2=parseFloat(number2.value)
var Ans =number1-number2;
answer.value=Ans;
}
function DIVIDE()
{

  var number1=document.getElementById("txtNumber1")
  var number2=document.getElementById("txtNumber2")
    number1=parseFloat(number1.value)
    number2=parseFloat(number2.value)
var Ans =number1/number2;
answer.value=Ans;
}

function MULTIPLY()
{

  var number1=document.getElementById("txtNumber1")
  var number2=document.getElementById("txtNumber2")
    number1=parseFloat(number1.value)
    number2=parseFloat(number2.value)
var Ans =number1*number2;
answer.value=Ans;
}
function MODULO()
{

  var number1=document.getElementById("txtNumber1")
  var number2=document.getElementById("txtNumber2")
    number1=parseFloat(number1.value)
    number2=parseFloat(number2.value)
var Ans =number1%number2;
answer.value=Ans;
}   

</script> 
</body>
</html>

Upvotes: 1

Rahele Dadmand
Rahele Dadmand

Reputation: 573

try correcting these lines :

var first=parsefloat(document.getElementsByName("txtNumber1")[0].value);
var second=parsefloat(document.getElementsByName("txtNumber2")[0].value);

document.getElementsByName("txtAnswer")[0].value=Ans;

Upvotes: 1

Mario Nikolaus
Mario Nikolaus

Reputation: 2406

Your are not referencing your input elements!

In this example

var first=parsefloat(txtNumber1.value);

txtNumber1 is undefined

This will work

var first=parsefloat(document.getElementsByName(txtNumber1)[0].value);

Upvotes: 1

Related Questions