Html 在Django生成的选择字段中设置名称属性
我正在尝试使用Django编写表单,但无法设置Select字段的名称Html 在Django生成的选择字段中设置名称属性,html,django,forms,Html,Django,Forms,我正在尝试使用Django编写表单,但无法设置Select字段的名称 class MyForm(forms.Form): successor = forms.ChoiceField(widget=forms.Select( attrs = {'name': 'to_player', 'onclick':'this.form.submit();'} ) ) 给出此输出: <label for="id_successor">Success
class MyForm(forms.Form):
successor = forms.ChoiceField(widget=forms.Select(
attrs = {'name': 'to_player', 'onclick':'this.form.submit();'}
)
)
给出此输出:
<label for="id_successor">Successor:</label>
<select id="id_successor" name="successor" onclick="this.form.submit();"></select>
继任者:
但是应该是name=“to_player”而不是name=“继任者”。为什么?我认为不能使用
attrs
覆盖name
属性,因为小部件的呈现方式。但是,如果您签出,您将发现一个包装器函数,它允许您指定自己的name属性 我使用javascript解决了这个问题。
您可以在表单中添加id属性:
class MyForm(forms.Form):
successor = forms.ChoiceField(widget=forms.Select(attrs = {'id':'id_player', 'name': 'to_player','onclick':'this.form.submit();'} ))
在模板的末尾,您可以放置以下javascript代码:
<!DOCTYPE html>
<html>
<head>
...
</head>
<body>
...
...
<script type="text/javascript">
$(document).ready(function(){
document.getElementById('id_player').name = 'to_player';
});
</script>
</body>
</html>
...
...
...
$(文档).ready(函数(){
document.getElementById('id_player')。name='to_player';
});
这样我就解决了这个问题,而且100%有效
祝你今天愉快 你的问题有一个简单得多的答案。查看[此][1]帖子。。[1]: