我需要有关如何在javascript中编写此程序的帮助。 javascript代码应该从一个框加载一个字符,从另一个框加载一个数字(N)。当您按下按钮时,N行打印每个具有N个字符的行(打印相同的字符)。在打印之前,请检查它是否仅在要输入字符的框中有一个字符。
html中的代码:
PageTwo()
Javascript中的代码:
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<p id="theText"></p>
<p id="theNumber"></p>
a charachter: <input type="charachter" id="theChar">
a number: <input type="number" id="theNbr">
<button onclick="printOut()">print out!</button>
<script type="text/javascript" src="script.js" ></script>
</body>
</html>
答案 0 :(得分:0)
您的代码中存在多个问题,即使在您做出评论后进行了更正也是如此。一些更重要的:
innerHTML
元素上使用input
。这没有道理。要获得其价值,请使用value
。document.getElementById("theNumber").innerHTML
:它将替换您已有的任何HTML,因此删除 theNbr
输入。任何对它的引用都将失败,从现在开始会出现错误。outPut
永远不会被初始化,因此outPut + newText
会产生不良后果。虽然您可以使用for
循环执行此操作,但JavaScript中有一个很好的字符串方法,您可以使用该方法重复一个字符甚至更长的字符串:repeat
。
以下是它的工作原理:
function printOut(){
var theNumber = document.getElementById("theNbr").value; // Don't use innerHTML
var theChar = document.getElementById("theChar").value;
var oneLine = theChar.repeat(theNumber) + "<br>";
var output = oneLine.repeat(theNumber);
document.getElementById("theText").innerHTML = output;
}
&#13;
a charachter: <input type="charachter" id="theChar">
a number: <input type="number" id="theNbr">
<button onclick="printOut()">print out!</button>
<p id="theText"></p>
&#13;