我正在创建一个网站,我有一个由Django创建的表单。加载页面后,用户可以通过单击按钮向表单添加文本输入。问题是,当单击提交按钮时,只提交由Django最初创建的文本输入。换句话说,动态添加的额外文本输入不会被提交。
我猜这是因为提交按钮只是&#34;意识到&#34;加载页面时存在的表单元素,而不是动态加载的元素。考虑到这一点,我猜测我需要使用某种Javascript来提交所有表单元素,包括动态添加的表单元素,但我无法弄清楚如何去做。< / p>
我已经尝试过jQuery submit
功能,但我真的不知道我应该用它做些什么。任何提示将不胜感激!
编辑:这是一段代码片段,它显示了在将另外两个文本输入动态添加到&#34;来源&#34;之后HTML的样子。
<table>
<form class="dataInput" action="/foner/116" method="post">
<input type='hidden' name='csrfmiddlewaretoken' value='YYuqTzXUVosu1s2HD3zS00DpoPwQ7N0k' />
<tbody class="origin">
<tr>
<th>
<label>Origin:</label>
</th>
<td>
<input id="id_Origin-0" maxlength="200" name="Origin-0" type="text" value="A native of Georgia" /> // PRESENT AT PAGE LOAD
</td>
<td>
<button class="adder origin">+</button> // USER CLICKS THIS TO APPEND MORE TEXT INPUTS TO THE FORM
</td>
</tr>
<tr>
<th>
</th>
<td>
<input type="text" value="" maxlength="200" name="origin[]"></input> // DYNAMICALLY ADDED
</td>
</tr>
<tr>
<th>
</th>
<td>
<input type="text" value="" maxlength="200" name="origin[]"></input> // DYNAMICALLY ADDED
</td>
</tr>
</tbody>
<tr>
<th>
<label>Notes:</label>
</th>
<td>
<input class="submitButton" type="submit" value="S" />
</td>
</tr>
</form>
</table>
答案 0 :(得分:0)
好的,我能够解决问题。我有一个表格正在安排表单的所有文本输入,表格也包含表单本身。事实证明,通过反转它并将表封装在表单内部,所有动态生成的输入都会成功发送。再次感谢那些在上述评论中提供意见的人 - 获得其他意见和帮助总是有帮助的。观点。
所以我的问题是(我知道你不应该在答案中提问,但如果有人想要回答......):我怎么知道这个?如果您使用的是编译语言,那么编译器可能会为您捕获这些内容。这只是你获得经验的东西吗?是否有任何书籍可以帮助我处理这样的基本问题?我发现Web开发非常繁琐且令人沮丧,因为我经常会因为这样的微不足道的错误而长时间挂断,而且我认为它不一定是这样的。我只是不太清楚如何改进。