以下のコードでload()関数の何が間違っているかを把握していません。 このコードは基本的には、ユーザーからフォーム(idがcaltag)を介して日付(フォームでtabledateという名前)を取得し、その日のすべてのイベントを含む表を提供します。しかし、私がフォームを通して与える何時でも、私はいつも今日のスケジュールを取得します。 送信ボタンがコードの通りに無効になっているため、jqueryパーツが完全に実行されていてもわかりません。さらに、私はjsプログラムをデバッグする方法を知らない。 これで何時間も立ち往生したことがあります。どんな提案も大きな助けになるでしょう。jquery does not load()要素
$("#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>
$( "#caltag")。attr( 'action')+ "#table"は意味がありません。あなたが.tableを意味するなら、あなたはattr( 'action')と.tableの間のスペースが必要です。デバッグするには、alert(variable)またはconsole.log + firebugを使用することができます。 – mkk
クロムでインスペクタを開くかfirefoxを起動し、送信されたリクエストを追跡して、サーバに送信されたものと返されるものを確認します。 – Richard