【发布时间】:2015-01-07 06:15:33
【问题描述】:
我希望能够在提交时找到courseAmount输入字段的数值,然后通过onsubmit方法生成新的输入字段(到initialForm下面的hourForm表单中)在 javascript 中,然后在提交 hourForm 表单时从每个生成的输入字段中检索值并将这些值放入数组中。
但是,我在使用 javascript 实际生成输入字段时遇到了困难,我怀疑我在检索 courseAmount 输入的值并将其移植到我的 createInput() 函数时遇到了困难,但我'不确定这是否是问题所在。
这是我的 HTML:
<!DOCTYPE html>
<head>
<link rel="stylesheet" href="css/main.css">
</head>
<body>
<form id="initialForm" method="post" onsubmit="createInput()" action="">
<label>Number of hours for which you would like to study</label>
<input type="number" name="overallHours" id="overallHours" class="stored" min="1" max="20" step="1" value="1"/>
<label>Number of courses you would like to study for</label>
<input type="number" name="courseAmount" id="courseAmount" class="stored" min="1" max="20" step="1" value="1"/>
<input type="submit" class="submitStudy" value="Submit"/>
</form>
<form id="hourForm" method="post" onsubmit="calcHours">
<label>State the desired time spent working in each course</label>
</form>
</body>
这是我的 Javascript:
var notedOverallHours = document.getElementById("overallHours").value * 60;
var courseNumberTotal = document.getElementById("courseAmount").value;
var counter = 0;
function createInput() {
var newForm = document.getElementById("hourForm");
document.getElementById("initialForm").style.display = "none";
document.getElementById("hourForm").style.display = "block";
for (i = 0; i <= courseNumberTotal; i++) {
newForm.innerHTML = "<label>Course #" + (counter + 1) + "</label>" + "<input type='number' name='courseHours' class='newInputs' min='1' max='9' step='1' value='1'/>";
counter++;
}
newForm.innerHTML = "<input type='submit' value='submit'/>";
}
有人可以帮我弄清楚这个 Javascript 吗?我的 JSFiddle 尝试是徒劳的,因为 JSFiddle 不喜欢重新加载页面的表单。
谢谢!
【问题讨论】:
标签: javascript arrays forms function