You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为date类型输入框设置默认值?表单赋值不显示问题

解决date类型输入框默认值不显示的问题

HTML的type="date"输入框对value属性的格式有严格要求,必须是YYYY-MM-DD格式的字符串——这是它和text、下拉框的核心区别,后两者对格式没有强制限制,只要是字符串就能正常显示。

你的问题大概率是trip['start_date']的格式不符合要求:比如它是datetime对象、MM/DD/YYYY这类非标准格式字符串,或是时间戳,导致浏览器无法识别,所以默认值无法显示。

具体解决办法:

  • 如果trip['start_date']是Python的datetime对象,直接在模板里格式化:
    <td><input class="form-control" type="date" name="start_date" id="start_date" size="40" value="{{ trip['start_date'].strftime('%Y-%m-%d') }}"></td>
    
  • 如果是其他格式的字符串(比如2024/05/20),可以在后端把它转换成YYYY-MM-DD格式后再传给模板,也能用前端JS处理后赋值:
    // 假设拿到的日期是"2024/05/20"
    const rawDate = "{{ trip['start_date'] }}";
    const formattedDate = rawDate.split('/').reverse().join('-');
    document.getElementById('start_date').value = formattedDate;
    
  • 如果用的是Django这类框架,还可以用自带的日期过滤器简化操作:
    <td><input class="form-control" type="date" name="start_date" id="start_date" size="40" value="{{ trip.start_date|date:'Y-m-d' }}"></td>
    

内容的提问来源于stack exchange,提问作者kim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 11:42:02