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>.

是否可以通过 a<input type="text">和- 按钮创建额外的日历以submit即时刷新select?如果是这样,我需要在哪里寻找解决方案?

现在我有一个正在监听的处理程序action="/succes"。但是,在创建一个显示操作结果的新页面的帖子上,即上传的约会。如何实现另一个不会触发 succeshandler 的帖子?

4

2 回答 2

1

您可以向表单添加更多按钮。因此,您可以添加一个输入(日历名称)和一个提交按钮(添加新日历),用于发布/添加新日历并显示更新的页面。

在您的 /succes 后处理程序中,您可以找出提交页面的按钮。

您还可以使用 jquery 来更新页面 dom 并添加日历。

于 2012-10-22T20:08:27.987 回答
0

如果我理解正确,当您创建新日历时,您将执行 POST 以保存它并对同一页面执行 GET 请求,以便 jinja 模板重新加载新数据。

于 2012-10-22T19:52:54.633 回答