Django - 初始化CheckboxInput [英] Django - initial checked CheckboxInput
本文介绍了Django - 初始化CheckboxInput的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我希望我的CheckboxInput默认被检查:
我的模型:
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' :
}
def __init __(self,* args,** kwargs):
self.valbata = kwargs.pop(arg_bata)
超级(presentationForm,self).__ init __(* args,** kwargs)
self.fields ['batata']。initial = True
我的观点:
def theview(request)
pre>
form = presentationForm(arg_bata =Azerty)
return render(request,le_site / page-batata.html,locals())
我的模板:
< div id =mod>
{%load bootstrap%}
< form method =POSTid =formModificationFic>
{%csrf_token%}
{{form.batata | bootstrap}}
...
< div class =col-md-offset-4 col-md- 3\" >
< input type =submitid =le_boutonvalue =Confirmer>
< / div>
< / form>
< / div>
我的JS:
function envoie_post(){
var batataRep = document.getElementById(batata)。
alert(batataRep:+ batataRep);
$ .post(http:// localhost:8000 / page-batata,batataRep:batataRep});
}
$(document).ready(function(){
$(#formModificationFic)。submit(function(){
envoie_post();
return false;
});
});
但是在我的页面中,checbkoxInputbatata没有被检查...
我认为JS没有效果解决方案将'选中'属性添加到你的 presentationForm 中的复选框输入字段小部件。所以你的代码变成:
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
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屋!
查看全文