Мне трудно понять, что не так с функцией load () в приведенном ниже коде.То, что этот код делает в основном, это получение даты (названной в виде табличной даты) от пользователя через форму (чей идентификатор caltag) и выдаёт таблицу со всеми событиями того дня.Но какую бы дату я ни дал через форму, я всегда получаю расписание на сегодня.Я не уверен, даже если часть jquery выполняется полностью, потому что кнопка отправки даже отключена, как говорит код.Более того, я не знаю, как отлаживать JS-программы.Застряли на это часами.Любые предложения будут очень полезны.
$("#caltag").submit(
function(e){
$("#caltag").attr('action', '/table/fetch/');
e.preventDefault();
$("submit").attr('disabled',true);
var calform=$("#caltag");
var values = $("#caltag").serializeArray();
$("#table").load(
$("#caltag").attr('action') + "#table",
values,
function() {
$("#table").hide().fadeIn(1000);
$("#getdate").attr('disabled', false);
});});
просмотреть часть формы
def table(request): # '/table/fetch/' requests of this view
events=[['_'] * 5 for row in range(5)]
if request.method=='POST':
datestring=request.POST['tabledate']
date=datetime.strptime(datestring,'%m/%d/%Y').strftime('%Y-%m-%d')
else:
date=datetime.today()
eventset=Location.objects.filter(eventdate=date)
for event in eventset:
events[event.x][event.y]=event
return render(request, 'scheduler/table.html',{'events':events,'tabdate':date})
html для того же.
<div id="cal" class="span-10">
<form method='POST' id='caltag' action="/table/fetch/">
<p>
<label for="datepicker">tabledate:</label>
<input type="text" id="datepicker" name="tabledate" />
</p>
<input type='submit' id="getdate">
</form>
</div>