1

イベントのリストを Google カレンダーに追加するアプリを作成しました。テンプレート フレームワークとして Jinja2 を使用しています。テンプレートに選択ボックスがあり、予定をアップロードするカレンダーをユーザーが選択できるようにしています。次のようになります。

<form method="post" action="/succes">
<select name="calendarsummary">
{% for calendar_list_entry in calendar_list['items'] %}
    <option value={{ calendar_list_entry['id'] }}>{{ calendar_list_entry['summary'] }    
</option>
{% endfor %}
</select>

したがって、最初のロードでは、すべてのユーザーのカレンダーが表示されます。ただし、その場で新しいカレンダーを作成するオプションも提供しています。フォームがあるページはアップロードされたデータを扱っているため、ページ全体を単純にリロードして更新することはできません<select>

その場で更新するボタンを<input type="text">使用して追加のカレンダーを作成することは可能ですか? もしそうなら、どこで解決策を探す必要がありますか?submitselect

今、私はその側でリッスンしているハンドラーを持っていaction="/succes"ます。ただし、アクションの結果、つまりアップロードされた予定を表示する新しいページを作成する投稿時。サクセスハンドラーをトリガーしない別の投稿を実装するにはどうすればよいですか?

4

2 に答える 2

1

フォームにさらにボタンを追加できます。したがって、入力 (カレンダー名) と送信ボタン (新しいカレンダーの追加) を追加して、新しいカレンダーを投稿/追加し、更新されたページを表示することができます。

/succes ポスト ハンドラーで、どのボタンがページを送信したかを確認できます。

jquery を使用して、ページ dom を更新し、カレンダーを追加することもできます。

于 2012-10-22T20:08:27.987 に答える
0

私が正しく理解していれば、新しいカレンダーを作成するときに POST を実行して保存し、同じページに対して GET 要求を実行して、jinja テンプレートが新しいデータでリロードされるようにします。

于 2012-10-22T19:52:54.633 に答える