[英]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.