问题
this is my coding. in this coding i want to print table in innerHTML in
paragraph tag.This is working but the problem is when i click submit button this result show only last value like this "10*10=100" but i want to run full loop which i define in code from 1 till 10. Please solve this issue.
<html>
<head>
<title>Table Program</title>
</head>
<body>
<input type="text" id="table" placeholder="Enter table"/>
<input type="button" value="Submit" onClick="table()"/>
<p id="demo"></p>
<!----------------------------------------------------------------------------------------------->
<script type="text/javascript">
function table()
{
var value = document.getElementById("table").value;
var demop = document.getElementById("demo");
var a;
for(a=1; a <= 10;++a)
{
demop.innerHTML=(value+"*"+ a +"="+ value*a);
}
}
</script>
</body>
</html>
回答1:
Your for
loop is overwriting the innerHTML of demop
each time it is executing.
So when your for
loop reaches last iteration a
will be 10 and hence you only get the last value "10*10=100"
So you should append the result every time you iterate your for loop just make it like this
demop.innerHTML += (value + "*" + a + "=" + (value*a) + "<br />");
So you will get your output on seperate lines.
回答2:
When you call demop.innerHTML = something
you overwrite it each time.
You should either:
- Put the entire string in a temporary
result
variable and then give it toinnerHTML
Concatenate the different results by doing
demop.innerHTML = demop.innerHTML + (value+"*"+ a +"="+ value*a);
来源:https://stackoverflow.com/questions/12996763/innerhtml-with-for-loop-in-javascript