Monday, May 20, 2024
 Popular · Latest · Hot · Upcoming
28
rated 0 times [  29] [ 1]  / answers: 1 / hits: 85956  / 11 Years ago, sun, january 19, 2014, 12:00:00

I am new to JavaScript & am looking for some help doing simple multiplication of two numbers & displaying the result in another text box. I have been trying to get this working for days to no avail :(



Here is the basic HTML along with the JavaScript & a link to a fiddle here http://jsbin.com/egeKAXif/1/edit



What am I doing wrong?



The application I want to write will have at least 12 rows, how would I extend the JavaScript / HTML to accommodate this? Would each input identifier need to be unique?



Any help appreciated :)



    <table width=80% border=0>
<tr>
<th>Box 1</th>
<th>Box 2</th>
<th>Result</th>
</tr>
<tr>
<td><input id=box1 type=text /></td>
<td><input id=box2 type=text onchange=calculate() /></td>
<td><input id=result /></td>
</tr>

</table>

<script>

function calculate() {
var myBox1 = document.getElementById('box1').value;
var myBox2 = document.getElementById('box2').value;
var result = document.getElementById('result');
var myResult = box1 * box2;
result.innerHTML = myResult;

}
</script>

More From » javascript

 Answers
116

The first thing you have got to change is the line with the multiplication. It should be: var myResult = myBox1 * myBox2;



You should not use innerHTML with input fields - use value.



Additional to that, the onchange event fires only when the input looses the focus. You might want to use the oninput event.



Take a look at the working example: http://jsbin.com/OJOlARe/1/edit


[#73067] Friday, January 17, 2014, 11 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
stacyl

Total Points: 131
Total Questions: 105
Total Answers: 94

Location: Egypt
Member since Tue, May 3, 2022
2 Years ago
;