【发布时间】:2016-08-17 16:40:37
【问题描述】:
在使用类型设置为“日期”的 HTML5 输入字段时遇到问题。
我的测试页面如下:
<!DOCTYPE html>
<html>
<head>
<script>
function testDate() {
window.alert("Date: " + document.getElementById("date").valueAsDate.toJSON());
}
</script>
</head>
<body>
<form>
<label for="date">Date</label>
<input id="date" type="date" onchange="testDate()" required />
</form>
</body>
</html>
如果我在 Opera 中加载此页面,我会看到一个“日期选择器”。如果我选择 2016 年 8 月 10 日,我会看到一个显示正确行为的弹出窗口,即显示以下内容:
"Date: 2016-06-10T00:00:00.000Z"
如果我在 Firefox 中加载页面,我不会得到任何类型的“日期选择器”,它会让我输入任何我想要的值。我尝试了以下输入:
- 2016 年 10 月 8 日
- 10-08-2016
- 2016-08-10
在所有情况下,我都会在控制台中记录以下内容:
TypeError: document.getElementById(...).valueAsDate is undefined
在我的真实代码中,我只是想让用户选择一个日期,将其转换为 JSON 日期,然后通过 XMLHttpRequest 发送,但我似乎找不到日期格式的任何一致性。
有人可以帮忙吗?
【问题讨论】:
-
date输入类型在 Firefox 中不受支持。 w3schools.com/html/html_form_input_types.asp找Input Type: date
标签: javascript html firefox opera