在表单中添加动态字段(Django)
Add dynamic fields in forms (Django)
我有一个定义为:
class testForm(forms.Form):
book = forms.CharField(label='Book:', widget=forms.TextInput())
我正在尝试在表单中添加动态字段。 这意味着文本框旁边有一个按钮,如果单击该按钮,则在原始文本框下会出现一个新文本框,而此表单只是一个表单。
在我的模板中:
<table>
{{form.as_table}}
<table class = 'request'>
{{form.as_table}}
{# <input type="button" onclick="addTextBox()"/>#}
{# <span id="response"></span>#}
</table>
<br>
<input type="submit" value="Submit">
</table>
我不想更改我的模板,所以我正在尝试使用 js 来完成它。
var countBox = 1;
var boxName = 0;
function addTextBox(){
boxName = "textBox"+countBox;
document.getElementById('response').innerHTML+='<br/><input type="text"
id="'+boxName+'" value="'+boxName+'" " /><br/>';
countBox += 1;
}
但它没有做我想做的事,有人有一些想法吗?
我不知道
这对你来说是否合适,但你可以尝试使用一个带有一个表单的页面,该页面可以添加所有新书并显示其他表单。基本上,当您通过表单添加新书籍时,它将使用 ajax 刷新页面,表单不会去任何地方,您的书将在数据库中,因此将显示在同一页面中。
这是基本代码:views.py:
def all(request):
obj = Books.objects.all()
...
模板:
<div id='books'>
{% for o in objs %}
{{ o }}
{% endfor %}
<form method='POST' action='#' enctype='multipart/form-data'>
{% csrf_token %}
// your form
<table>
{{form.as_table}}
<table class = 'request'>
{{form.as_table}}
{# <input type="button" onclick="addTextBox()"/>#}
{# <span id="response"></span>#}
</table>
<br>
// end of your form
<input type="submit" value="Submit">
</table>
<input class="ui button" type='submit' value='Add Skill' />
</form>
</div>
<script type="text/javascript">
$("#addform").submit(function(e) {
var url = $(this).attr('action');
var formData = new FormData(this);
$.ajax({
type: "POST",
url: url,
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
success: function(data)
{
$("#books").load("# #books");
}
});
e.preventDefault();
});
</script>
如果我遇到同样的问题,我会接受,但这当然是你的决定。
相关文章:
- 将输入字段中的文本提交到我的数据库,同时将其添加到我的列表中
- 使用JavaScript获取隐藏的Django字段
- Django Fromset中动态添加的字段为空
- 如何在Django中使用Dropzone为多个图像字段上传多个图像
- 将JS中的一个变量插入Django表单输入字段
- 在django中提交表单时更改日期字段值
- 无法输入 Django Chartit 格式化程序字段
- Django - 如果国家/地区字段等于美国,则发送 ajax 请求以将州选择器设置为美国州的元组
- JSON 数据已将字段名称连接成值字段 (Django)
- Django Forms - 构建一个表单,显示来自几个不同模型的字段,但按外键排序
- 求和Django管理屏幕中的2个字段
- django-从隐藏在html中的字段中获取值,并在视图文件中使用它
- Django管理员在内联模型中填充字段
- 从JSON序列化的django对象访问字段值
- 删除隐藏字段后,Django出现CSRF错误
- 如何将onChange事件添加到Django表单字段中,并将字段本身作为参数
- Django Rest框架的许多相关字段- Javascript正确格式的int列表
- 在django模板的隐藏字段中获取页面url的更好方法
- 在Django表单中动态显示和隐藏字段
- 在表单中添加动态字段(Django)