【发布时间】:2021-01-08 09:29:40
【问题描述】:
我在 Django 网站中有一个表单。显示表单时,我使用 jQuery 创建了一个新字段。比如:
$("#field_defined_in_form").after(
'<input class="numberinput" type="number" step="1" id="id_new_field" name="new_field">'
)
我可以通过 POST 将"#id_new_field" 中提供的信息保存到数据库中。但是,当我想编辑数据库中的信息时,我需要为"#id_new_field"提供初始值。
1 - 如何为将使用 Jquery 创建的表单字段提供初始值?
我试过了:
initial = {
'new_field': 'Initial_value',
}
form = TheFormClass(initial=initial)
但这不起作用。
2 - 有什么方法可以使用 jQuery 访问表单初始值?我猜不是,但我问一下以防万一。
我还可以通过模板将值传递给 jQuery,例如:
<script>
window.pageData = {
new_field : '{{new_field_value}}',
}
</script>
现实生活中的问题包括不固定数量的new_field,所以我尝试传递整个初始字典。
<script>
window.pageData = {
initial : '{{initial}}',
}
</script>
这不起作用,因为 initial 变成了字符串而不是对象。所以:
3 - 如何将 python dict 初始值传递给 jQuery 对象,以便我可以在 jQuery 中访问 initial['new_field'] 并设置 "#id_new_field" 的初始值?
【问题讨论】:
-
您应该再次尝试您的第一种方法,它应该可以按预期工作,也许您声明的字段名称是错误的stackoverflow.com/questions/604266/…
-
@LinhNguyen 字段名称正确。还是不行。