4

これは私のコーディングです。このコーディングでは、innerHTML のテーブルを印刷したい

段落タグ。問題。

<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>
4

2 に答える 2

12

あなたのループは、実行されるたびforに innerHTML を上書きしています。demopしたがって、forループが最後の反復に達するaと10になるため、最後の値「10 * 10 = 100」のみが得られます

したがって、 for ループを反復するたびに結果を追加する必要があります。このようにするだけです

demop.innerHTML += (value + "*" + a + "=" + (value*a) + "<br />");

したがって、出力は別の行に表示されます。

于 2012-10-21T10:06:39.130 に答える
1

呼び出すdemop.innerHTML = somethingたびに上書きします。次のいずれかを行う必要があります。

  • 文字列全体を一時result変数に入れてから、innerHTML
  • 実行して、さまざまな結果を連結します

    demop.innerHTML = demop.innerHTML + (value+"*"+ a +"="+ value*a);

于 2012-10-21T09:56:42.137 に答える