[英]How to collect all inputs from one input field
我有一个包含多个问题的表格。 每个问题都需要一个答案,我想收集所有的答案。 下面是一个例子:
我使用一个input
框来回答多个问题的原因是,我所有的问题都采用相同的格式(即,给定图像,需要一些答案),并且我想确保input
、 next
和submit
按钮的位置稳定. 所以我重用了input
字段。
但是,当表单提交时,结果发现如果我只有一个<input>
字段(即带有 id grade
字段),则只会记录最后一个问题的答案。
一种可能的解决方案是为每个问题创建一个<input>
字段。 但是,由于问题的数量变化很大(范围可以从 3 到任意数量),我不想一一创建input
字段。 另外,我需要使用form
来做到这一点。
有没有办法收集所有问题的输入? 我更喜欢使用一个input
字段,但我也愿意添加多个字段,只要这些字段可以动态创建和添加,并且字段和按钮始终位于同一位置。
编辑:
我遵循将所有答案放入数组并最终提交数组的建议。 然而,虽然output
字段确实包含所有答案,但它似乎没有成功提交。 更新后的代码有什么问题? 使用数组中的输入更新了 jsfiddle
请删除它正在重新加载页面的表单标签。 这是代码:
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
</head>
<body>
<fieldset>
<div class="row">
<div class="col-lg-6">
<!--<p>image ${image_url}</p>-->
<img src="" class="img-fluid" id="image" height="auto" width="700" align="center">
</div>
</div>
</fieldset>
<fieldset>
<label>Please grade with anything:</label>
</fieldset>
<fieldset>
<input id = "grade" type="text" max-length="25" value="" required></input>
</fieldset>
<p><input type='submit' id='next' value='Next' style="display: inline"/></p>
<p><input type='submit' id='submit' value='Submit' style="display: none"/></p>
<script>
var imageIndex = 0;
var images = [
"https://upload.wikimedia.org/wikipedia/commons/a/a3/June_odd-eyed-cat.jpg",
"https://www.aaha.org/contentassets/f557d057200b4d7197d67acce3ea725f/image9iii.png",
"https://cdn3-www.cattime.com/assets/uploads/gallery/persian-cats-and-kittens/persian-cat-breed-pictures-1.jpg"
];
var output = []
function next()
{
//document.getElementById('grade').value = '';
var grade = $("#grade").val();
output.push(grade);
if (grade != '') {
imageIndex = (imageIndex+1) % (images.length);
$("#image").attr('src', images[imageIndex]);
// set to empty
$('#grade').val("");
//$('#grade').val(output.length);
}
if(imageIndex == images.length - 1) {
$("#next").attr('style', 'display: none');
$("#submit").attr('style', 'display: inline');
}
}
function submit()
{
var grade = $("#grade").val();
output.push(grade);
docWrite(output); // verify that the output variable stores all inputs.
console.log(output);
// output.submit();
}
function docWrite(variable) {
document.write(variable);
}
$( document ).ready(function() {
$("#image").attr('src', images[0]);
$("#next").on("click", next);
$("#submit").on("click", submit);
});
</script>
<!-- <h3>the value for number1 is: <script>docWrite(output)</script></h3> -->
</body>
</html>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.