[英]django- jquery Datetime picker cannot save the form with date selected
在html中,它顯示一個表單,如果我沒有從datetime選擇器中選擇任何日期,則該表單可以成功提交。
但是,一旦選擇了日期,便無法提交。 因此,我想日期時間格式可能有問題。
Datetime選擇器在html中工作,它顯示下拉列表,我也可以選擇它。 如果我選擇一個日期,我將無法提交表格。
表單HTML代碼段,用於日期時間選擇器
$(function() {
$('.date-picker').datepicker(
{
dateFormat: "yymm",
changeMonth: true,
changeYear: true,
showButtonPanel: true,
onClose: function(dateText, inst) {
function isDonePressed(){
return ($('#ui-datepicker-div').html().indexOf('ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all ui-state-hover') > -1);
}
if (isDonePressed()){
var month = $("#ui-datepicker-div .ui-datepicker-month :selected").val();
var year = $("#ui-datepicker-div .ui-datepicker-year :selected").val();
$(this).datepicker('setDate', new Date(year, month, 1)).trigger('change');
$('.date-picker').focusout()//Added to remove focus from datepicker input box on selecting date
}
},
beforeShow : function(input, inst) {
inst.dpDiv.addClass('month_year_datepicker')
if ((datestr = $(this).val()).length > 0) {
year = datestr.substring(datestr.length-4, datestr.length);
month = datestr.substring(0, 2);
$(this).datepicker('option', 'defaultDate', new Date(year, month-1, 1));
$(this).datepicker('setDate', new Date(year, month-1, 1));
$(".ui-datepicker-calendar").hide();
}
}
})
});
models.py
start_date=models.DateField(auto_now=False, auto_now_add=False)
end_date=models.DateField(auto_now=False, auto_now_add=False)
表格
widgets = {
'start_date': forms.DateInput(attrs={'class':'datepicker'}),
'end_date': forms.DateInput(attrs={'class':'datepicker'}),
}
在html中,日期格式類似於201010(YYYYMM)。
我想知道是否是因為html中的日期格式與模型中的日期格式不同,這就是為什么我不能提交它的原因。
然后,請告訴我在這種情況下如何糾正我的模型或表格? 日期格式應類似於html(YYYYMM)201003等。
您需要在表單類中配置表單字段以接受您選擇的日期格式:
start_date = forms.DateField(widget=DateInput(format='%Y%m'), input_formats=['%Y%m'])
end_date = forms.DateField(widget=DateInput(format='%Y%m'), input_formats=['%Y%m'])
(這應該在常規Form
和ModelForm
中都ModelForm
)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.