HTML 中表单的提交是按 name 来识别的,而且 name 在表单中是允许重复的。因此你的问题只需要把问题和答案复制出多个 htm 标签并让它们的 name 属性相同就可以了。当点击添加问题时就复制 html tag 出来,提交到服务器之后拿到的字段是个数组一样的多值。
<form id="form1"><input name="question" />
<input name="answer" />
</form>
<button onclick="addQuestion()">添加</button>
function addQuestion() {
var form = document.getElementById('form1')
var q = document.getElementsByName('question')[0]
var a = document.getElementsByName('answer')[0]
var clonedQ = document.createElement('input')
clonedQ.setAttribute('name', 'question')
var clonedA = document.createElement('input')
clonedA.setAttribute('name', 'answer')
form.appendChild(q)
form.appendChild(a)
}