Что не так с моим кодом? Предполагается создать входные теги в HTML с помощью входящего номера (количество):Использование для цикла для создания элементов html
// Declare variables
var numberOfGrades = 0;
var NL = "\n";
// Functions
function setQuantity() {
numberOfGrades = document.getElementById("quantity").value;
var inputBox = document.createElement("INPUT");
var BR = document.createElement("br"); // Break line
var gradeNumber = 1;
var gradeText = document.createTextNode("Grade " + gradeNumber + ":");
for (var i = 0; i < numberOfGrades; i++) {
alert(numberOfGrades);
document.getElementById("formDiv").appendChild(BR);
document.getElementById("formDiv").appendChild(gradeText);
document.getElementById("formDiv").appendChild(inputBox);
gradeNumber++;
}
}
body {
font-family: "Open Sans", sans-serif;
}
.container {
width: 100%;
background-color: lightcyan;
padding: 10px;
}
<body>
<h1>Homework and Quiz average calculator</h1>
<p>Please Enter the required information to calcuate</p>
<div class="container" id="formDiv">
<form id="formID">
<p>
<strong>Calculate the average of homework grades</strong>
</p>
How many grades?
<input type="number" id="quantity" name="quantity" min="1" max="10" value="1">
<!--<input onclick="setQuantity()" type="submit" value="Apply">-->
</form>
<button onclick="setQuantity()">APPLY</button>
<br>
</div>
<script src="script.js"></script>
</body>
В JSFiddle нажмите «Javascript», затем измените «Load type» на «No wrap - in
». Ваша функция недоступна, потому что JSFiddle автоматически обертывает ваш код, чтобы избежать создания глобальных переменных. –Справа! большое спасибо! –
Однако он по-прежнему создает только 1 вход, даже если номер параметра выше 1. (Значение, если пользователь устанавливает число до 3 и нажимает кнопку Apply, функция должна создавать 3 элемента ввода. Теперь его создание только 1 игнорируя параметр) –