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

Safari 15桌面版:如何将date类型输入框默认值设为空

Safari 15 空date输入框默认填充当前日期的解决方法

Safari 15对type="date"输入框的默认行为确实和Chrome不同——未设置value时会自动填充当前日期,而非显示占位符样式的提示文本。要实现空值状态,可以通过以下几种方式处理:

  • 显式设置空值
    直接给date输入框添加value=""属性,强制浏览器保持空值状态,避免自动填充当前日期:

    <input type="date" name="target-date" value="">
    
  • CSS自定义视觉表现(针对Safari)
    如果上述方法无效,可以通过Safari的私有CSS伪元素,隐藏未聚焦时的默认日期文本,模拟空输入框的视觉效果,聚焦时恢复正常显示:

    /* 隐藏未聚焦时的日期文本 */
    input[type="date"]::-webkit-datetime-edit-text,
    input[type="date"]::-webkit-datetime-edit-month-field,
    input[type="date"]::-webkit-datetime-edit-day-field,
    input[type="date"]::-webkit-datetime-edit-year-field {
      color: transparent;
    }
    /* 聚焦时恢复文本颜色 */
    input[type="date"]:focus::-webkit-datetime-edit-text,
    input[type="date"]:focus::-webkit-datetime-edit-month-field,
    input[type="date"]:focus::-webkit-datetime-edit-day-field,
    input[type="date"]:focus::-webkit-datetime-edit-year-field {
      color: inherit;
    }
    
  • JavaScript强制初始化
    若页面加载后仍出现自动填充的情况,可通过JS在DOM加载完成后强制清空未设置值的date输入框:

    document.addEventListener('DOMContentLoaded', () => {
      document.querySelectorAll('input[type="date"]').forEach(input => {
        if (!input.value) input.value = '';
      });
    });
    

需要注意的是,测试表单重置等场景下的表现,确保空值状态在用户交互过程中保持一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 06:09:50