Javascript 输入日期时间本地的HTML 5表单验证
我正在尝试使用developer.mozilla.org中描述的HTML5进行表单验证。我正在用Chrome浏览器测试它。两个问题Javascript 输入日期时间本地的HTML 5表单验证,javascript,html,validation,Javascript,Html,Validation,我正在尝试使用developer.mozilla.org中描述的HTML5进行表单验证。我正在用Chrome浏览器测试它。两个问题 当输入类型为datetime local时,我无法使用checkValidity()传递表单。datetime local的输入格式非常严格(Chrome强制它使用特定的格式),但它就是不通过。为什么? 此datetime local字段不应为必填字段。当用户未指定输入时,如何使其通过 我在chrome 46和chrome 46 beta中遇到了这个问题,其中“da
datetime local
时,我无法使用checkValidity()
传递表单。datetime local的输入格式非常严格(Chrome强制它使用特定的格式),但它就是不通过。为什么?datetime local
字段不应为必填字段。当用户未指定输入时,如何使其通过我在chrome 46和chrome 46 beta中遇到了这个问题,其中“datetime”feild是一个必填字段(对于输入格式YYYY-MM-DDThh:MM:ssTZD和PTDHMS,用户只有两个选项,请参阅以了解值格式和兼容性问题。) 所以我没有用
<input type="datetime" />
但是您可以完全跳过Date.js,使用本机JavaScript,如下所示:Source()
另外请注意,Internet Explorer或Firefox中不支持带有type=“datetime local”
的
元素(请参阅),但您可以尝试以下方法:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<head>
<body>
<script>
var input = document.createElement("input");
input.setAttribute("type", "datetime-local");
document.getElementsByTagName("body").appendChild(input);
</script>
</body>
</html>
var输入=document.createElement(“输入”);
setAttribute(“type”,“datetime local”);
document.getElementsByTagName(“body”).appendChild(输入);
请在jsbin.com
或jsfiddle.net
中显示您的代码无法复制问题,请在问题本身中添加一些代码。我最接近于复制问题的方法是只填充部分字段,将一半字段留空(但验证错误是因为字段不完整,而不是因为它是必需的)。我实际上在JQuery mobile上,我不知道这是否与此有关。但好的,我会再试一次,在网站上放一些代码,看看以后是否可以复制它。谢谢,Huggie,我的回答对你有帮助吗?你介意分享你是否以及如何解决这个问题吗?
<input type="text" />
userInput = userInput || 'Thu, 1 July 2004 22:30:00';
Date.parse(userInput );
var today = new Date();
var birthday = new Date('December 17, 1995 03:24:00');
var birthday = new Date('1995-12-17T03:24:00');
var birthday = new Date(1995, 11, 17);
var birthday = new Date(1995, 11, 17, 3, 24, 0);
var unixTimestamp = Date.now(); // in milliseconds
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<head>
<body>
<script>
var input = document.createElement("input");
input.setAttribute("type", "datetime-local");
document.getElementsByTagName("body").appendChild(input);
</script>
</body>
</html>