在 MS Edge 中设置输入类型日期的值
Setting the value of input type date in MS Edge
所以我在 Razor 中设置了输入值,但屏幕显示 'mm/dd/yyyy'。直到我从选择器中选择一个日期,它才会显示日期。
我检查了该元素,发现即使它正在显示 'mm/dd/yyyy',它仍然具有正确的值。
CanIUse 说 edge 确实支持 'date'。那么这只是一个错误还是 Edge 不支持预设值?
这不仅仅是与 Edge 相关的。任何支持与日期和时间相关的各种输入类型的兼容 HTML5 的浏览器都希望输入的值在 ISO 8601 format 中。对于日期类型,那将是 YYYY-MM-DD
。如果该字段的值不是这种格式,则视为不存在,所以你得到默认的占位符。
这是因为在全球不同的文化中,date/time 的表现方式太多了。解析器不会尝试将任意字符串值解析为日期,而是仅适用于 ISO 8601 日期。但是,浏览器随后将为单个用户本地化显示(mm/dd/yyyy
,在您的情况下)。
所以我在 Razor 中设置了输入值,但屏幕显示 'mm/dd/yyyy'。直到我从选择器中选择一个日期,它才会显示日期。
我检查了该元素,发现即使它正在显示 'mm/dd/yyyy',它仍然具有正确的值。
CanIUse 说 edge 确实支持 'date'。那么这只是一个错误还是 Edge 不支持预设值?
这不仅仅是与 Edge 相关的。任何支持与日期和时间相关的各种输入类型的兼容 HTML5 的浏览器都希望输入的值在 ISO 8601 format 中。对于日期类型,那将是 YYYY-MM-DD
。如果该字段的值不是这种格式,则视为不存在,所以你得到默认的占位符。
这是因为在全球不同的文化中,date/time 的表现方式太多了。解析器不会尝试将任意字符串值解析为日期,而是仅适用于 ISO 8601 日期。但是,浏览器随后将为单个用户本地化显示(mm/dd/yyyy
,在您的情况下)。