Monday, June 3, 2024
 Popular · Latest · Hot · Upcoming
10
rated 0 times [  15] [ 5]  / answers: 1 / hits: 38438  / 11 Years ago, mon, march 18, 2013, 12:00:00

I am writing code for HTML file that will display the number of each sum of dice for 36000 thrown dice. I wrote the code, and everything seems fine, I printed the numbers of each sum and I got numbers, but when I try to put them inside the <td> element, I see nothing in the table. I searched on Stack Overflow and on google and they all said the same thing, but it's not working. Here is my code:




/*  
Position #0 : Sum of Dices = 2
Position #1 : Sum of Dices = 3
Position #2 : Sum of Dices = 4
Position #3 : Sum of Dices = 5
Position #4 : Sum of Dices = 6
Position #5 : Sum of Dices = 7
Position #6 : Sum of Dices = 8
Position #7 : Sum of Dices = 9
Position #8 : Sum of Dices = 10
Position #9 : Sum of Dices = 11
Position #10: Sum of Dices = 12
*/

var sums = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
for (var i = 0; i < 36000; i++) {
var dice1 = Math.floor(Math.random() * 6) + 1;
var dice2 = Math.floor(Math.random() * 6) + 1;
var sum = dice1 + dice2;
switch (sum) {
case 2:
sums[0]++;
break;
case 3:
sums[1]++;
break;
case 4:
sums[2]++;
break;
case 5:
sums[3]++;
break;
case 6:
sums[4]++;
break;
case 7:
sums[5]++;
break;
case 8:
sums[6]++;
break;
case 9:
sums[7]++;
break;
case 10:
sums[8]++;
break;
case 11:
sums[9]++;
break;
case 12:
sums[10]++;
break;
default:
break;
}
}

document.getElementById(sum2).innerHTML = sums[0];
document.getElementById(sum3).innerHTML = sums[1];
document.getElementById(sum4).innerHTML = sums[2];
document.getElementById(sum5).innerHTML = sums[3];
document.getElementById(sum6).innerHTML = sums[4];
document.getElementById(sum7).innerHTML = sums[5];
document.getElementById(sum8).innerHTML = sums[6];
document.getElementById(sum9).innerHTML = sums[7];
document.getElementById(sum10).innerHTML = sums[8];
document.getElementById(sum11).innerHTML = sums[9];
document.getElementById(sum12).innerHTML = sums[10];

<!DOCTYPE html>
<html>

<body>
<h1>Roll Dice 36,000 Times</h1>
<table border=1>
<th>Sum of Dice</th>
<th>Total Times Rolled</th>

<tr>
<td>2</td>
<td id=sum2></td>
</tr>
<tr>
<td>3</td>
<td id=sum3></td>
</tr>
<tr>
<td>4</td>
<td id=sum4></td>
</tr>
<tr>
<td>5</td>
<td id=sum5></td>
</tr>
<tr>
<td>6</td>
<td id=sum6></td>
</tr>
<tr>
<td>7</td>
<td id=sum7></td>
</tr>
<tr>
<td>8</td>
<td id=sum8></td>
</tr>
<tr>
<td>9</td>
<td id=sum9></td>
</tr>
<tr>
<td>10</td>
<td id=sum10></td>
</tr>
<tr>
<td>11</td>
<td id=sum11></td>
</tr>
<tr>
<td>12</td>
<td id=sum12></td>
</tr>
</table>
</body>

</html>




Some said to use .innerText, and .textContent but none seemed to work. Why is it not working?


More From » html

 Answers
8

Use windows.onload function to be sure html is loaded:



window.onload=function(){

document.getElementById(sum2).innerHTML = sums[0];
document.getElementById(sum3).innerHTML = sums[1];
document.getElementById(sum4).innerHTML = sums[2];
document.getElementById(sum5).innerHTML = sums[3];
document.getElementById(sum6).innerHTML = sums[4];
document.getElementById(sum7).innerHTML = sums[5];
document.getElementById(sum8).innerHTML = sums[6];
document.getElementById(sum9).innerHTML = sums[7];
document.getElementById(sum10).innerHTML = sums[8];
document.getElementById(sum11).innerHTML = sums[9];
document.getElementById(sum12).innerHTML = sums[10];
};

[#79526] Saturday, March 16, 2013, 11 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
matteo

Total Points: 81
Total Questions: 100
Total Answers: 96

Location: Honduras
Member since Sat, Jul 24, 2021
3 Years ago
;