Reputation: 1
I want the answer of the calculated area to appear in a text box I've tried different methods but it doesn't work
{{ document.getElementById("area(A)").innerHTML = <input type="number" id="area(A)" + calculatearea +"> }} can anyone tell me what I am doing wrong here?
<p style=color:tan; font-size:30px; >Area and Perimeter Calculator</p>
<br>
<form>
Length:
<br>
<input type="number" id="length(L)" placeholder="Insert Length Here">
<br/>
<br>
Width:
<br>
<input type="number" id="width(W)" placeholder="Insert Width Here">
<br/>
<br>
<button type="button" onclick="calculateperimeter()">Calculate Perimeter</button>
<button type="button" onclick="calculatearea()">Calculate Area</button>
<br>
<br>
Perimeter:
<p id="perimeter(P)"></p>
<br>
<br>
Area:
<p id="area(A)"></p>
</form>
<script type="text/javascript">
function calculateperimeter(){
var length= document.getElementById("length(L)").value;
var width= document.getElementById("width(W)").value;
var perimeter=(length) * (2) + (width) * (2);
document.getElementById("perimeter(P)").innerHTML = perimeter;
}
</script>
<script type="text/javascript">
function calculatearea(){
var length= document.getElementById("length(L)").value;
var width= document.getElementById("width(W)").value;
var area=(length) * (width);
document.getElementById("area(A)").innerHTML = <input type="number" id="area(A)" + calculatearea +"> ;
}
</script>
</body>
Upvotes: 0
Views: 84
Reputation: 679
We assign values to id's with variables. Like
document.getElementById("area").value = area;
function calculateperimeter() {
var length = document.getElementById("length(L)").value;
var width = document.getElementById("width(W)").value;
var perimeter = (length) * (2) + (width) * (2);
document.getElementById("perimeter(P)").innerHTML = perimeter;
}
function calculatearea() {
var length = document.getElementById("length(L)").value;
var width = document.getElementById("width(W)").value;
var area = (length) * (width);
document.getElementById("area(A)").value = area;
}
<p style=color:tan; font-size:30px;>Area and Perimeter Calculator</p>
<br>
<form>
Length:
<br>
<input type="number" id="length(L)" placeholder="Insert Length Here">
<br/>
<br> Width:
<br>
<input type="number" id="width(W)" placeholder="Insert Width Here">
<br/>
<br>
<button type="button" onclick="calculateperimeter()">Calculate Perimeter</button>
<button type="button" onclick="calculatearea()">Calculate Area</button>
<br>
<br> Perimeter:
<p id="perimeter(P)"></p>
<br>
<br> Area:
<input type="number" id="area(A)">
Upvotes: 0
Reputation: 31
I believe that the innerHTML content should be in a string. Try this:
document.getElementById("area(A)").innerHTML = `<input type="number" id="area(A)" value="${calculatearea}">`;
Note that I used backticks as they allow us to substitute a variable in the string by using ${variable name here}
Upvotes: 1
Reputation: 321
Wouldn’t it be easier If you do it like this ? Just use innerText on that paragraph which you’ve stored in variable and fill it with your result.
function calculateperimeter(){
var length= document.getElementById("length(L)").value;
var width= document.getElementById("width(W)").value;
var perimeter=length * 2 + width * 2;
document.getElementById("perimeter(P)").innerText = perimeter;
}
function calculatearea(){
var length= document.getElementById("length(L)").value;
var width= document.getElementById("width(W)").value;
var area=length * width;
document.getElementById("area(A)").innerText = area
}
Upvotes: 0