Django - 初始选中 CheckboxInput [英] Django - initial checked CheckboxInput
本文介绍了Django - 初始选中 CheckboxInput的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我希望我的 CheckboxInput 被默认选中:
我的模型:
class Sub(models.Model):用户 = 模型.OneToOneField(用户)batata = models.BooleanField(默认=假)类presentationForm(forms.ModelForm):元类:模型 = 子小部件 = {'batata': forms.CheckboxInput(attrs={'id':'batata'}),}def __init__(self, *args, **kwargs):self.valbata = kwargs.pop("arg_bata")super(presentationForm, self).__init__(*args, **kwargs)self.fields['batata'].initial = True
我的观点:
定义视图(请求):form =presentationForm(arg_bata="Azerty")返回渲染(请求,le_site/page-batata.html",locals())
我的模板:
{% 加载引导程序 %}<form method="POST" id="formModificationFic">{% csrf_token %}{{ form.batata|bootstrap }}...<div class="col-md-offset-4 col-md-3"><input type="submit" id="le_bouton" value="Confirmer"></表单>
我的JS:
function envoie_post(){var batataRep = document.getElementById("batata").checked;alert("batataRep:"+batataRep);$.post("http://localhost:8000/page-batata", "batataRep":batataRep});}$(document).ready(function() {$("#formModificationFic").submit(function() {envoie_post();返回假;});});
但是在我的页面中,没有检查 checbkoxInput "batata"...而且我认为JS没有效果
解决方案
将 'checked' 属性添加到 presentationForm 中的 Checkbox Input field 小部件>.这样你的代码就变成了:
classpresentationForm(forms.ModelForm):元类:模型 = 子小部件 = {'batata': forms.CheckboxInput(attrs={'id':'batata', 'checked' : ''}),}def __init__(self, *args, **kwargs):self.valbata = kwargs.pop("arg_bata")super(presentationForm, self).__init__(*args, **kwargs)self.fields['batata'].initial = True
I want my CheckboxInput was checked by default :
My models :
class Sub(models.Model):
user = models.OneToOneField(User)
batata = models.BooleanField(default=False)
class presentationForm(forms.ModelForm):
class Meta :
model = Sub
widgets = {
'batata': forms.CheckboxInput(attrs={'id':'batata'}),
}
def __init__(self, *args, **kwargs):
self.valbata = kwargs.pop("arg_bata")
super(presentationForm, self).__init__(*args, **kwargs)
self.fields['batata'].initial = True
My view :
def theview(request):
form = presentationForm(arg_bata="Azerty")
return render(request,"le_site/page-batata.html",locals())
My template :
<div id="mod">
{% load bootstrap %}
<form method="POST" id="formModificationFic">
{% csrf_token %}
{{ form.batata|bootstrap }}
...
<div class="col-md-offset-4 col-md-3">
<input type="submit" id="le_bouton" value="Confirmer">
</div>
</form>
</div>
My JS :
function envoie_post(){
var batataRep = document.getElementById("batata").checked;
alert("batataRep : "+batataRep);
$.post("http://localhost:8000/page-batata", "batataRep":batataRep});
}
$(document).ready(function() {
$("#formModificationFic").submit(function() {
envoie_post();
return false;
});
});
But in my page, the checbkoxInput "batata" isn't checked... And I think the JS hasn't effects
解决方案
Add 'checked' attribute to your Checkbox Input field widget in presentationForm. So that your code becomes :
class presentationForm(forms.ModelForm):
class Meta :
model = Sub
widgets = {
'batata': forms.CheckboxInput(attrs={'id':'batata', 'checked' : ''}),
}
def __init__(self, *args, **kwargs):
self.valbata = kwargs.pop("arg_bata")
super(presentationForm, self).__init__(*args, **kwargs)
self.fields['batata'].initial = True
这篇关于Django - 初始选中 CheckboxInput的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文