[英]How to save value of a variable after request, but at the first load have a different value?
我有一个 Flask 应用程序,用户可以在其中 select 所需的时间。 期间有开始日期和结束日期。 在页面的第一次加载时,我希望开始日期是当月的第一天,结束日期是当天。 我使用这段代码来完成这项工作,其中 d1 是开始日期,d3 是结束日期:
$('#d1').val(today.getFullYear() + "-" + ('0' + (today.getMonth() + 1)).slice(-2) + "-" + ('0' + 1));
$('#d3').val(today.getFullYear() + "-" + ('0' + (today.getMonth() + 1)).slice(-2) + "-" + ('0' + (today.getDate())).slice(-2));
我希望能够在按下提交按钮后保存用户选择的时间段。 现在,在用户单击提交按钮后,我将开始日期设置为月份的 1,将结束日期设置为当天。 无论用户选择什么不同的日期,都会发生这种情况。 提交后,我希望能够将开始和结束日期显示为用户选择的日期。 如何做到这一点? 我正在考虑使用
$('[name=d1]').val("{{ request.form['d1'] }}");
但这会重置开始日期,一开始就设置为 mm/dd/yyyy,因为没有请求。 用户选择后如何保存日期? 但是让在第一次加载页面时选择的日期作为月份和当前日期的 1。
你有很多选择来实现这一目标
如果您使用Flask
模板引擎来呈现响应,您可以在模板中设置响应之前的日期。
假设您要提交日期的路线是/
@app.route('/')
def index():
start_date = request.form['start_date']
end_date = request.form['end_date']
...
return render_template('template_name.html', start_date=start_date, end_date=end_date )
在您的模板中
<input type="date" value="{{start_date}}" />
<input type="date" value="{{end_date}}" />
另一种选择是直接在客户端使用localStorage
此外,这取决于您使用的是 jquery 提交还是 HTML 表单提交
如果您使用的是 jquery 提交
$.ajax({
type: "POST",
url: url,
data: data,
success: success,
dataType: dataType
});
那么您应该处理成功回调中的更改
有类似的东西
$('[name=d1]').val("{{ request.form['d1'] }}");
希望有帮助
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.