Javascript 显示默认日期值HTML表单iOS
在iOS设备上以HTML格式启动日期选择器的按钮中是否有显示当前日期的方法Javascript 显示默认日期值HTML表单iOS,javascript,html,ios,forms,date,Javascript,Html,Ios,Forms,Date,在iOS设备上以HTML格式启动日期选择器的按钮中是否有显示当前日期的方法 以下是当前加载的内容: 以下是我希望它自动加载的内容: 以下是我在HTML表单中使用的代码: <input name="date" type="date" autofocus="autofocus" id="date" autocomplete="on" value="09-21-13"/> 有什么想法吗 谢谢。您需要使用JavaScript中的date()方法找出当前日期,并将其转换为ISO
以下是当前加载的内容: 以下是我希望它自动加载的内容:
以下是我在HTML表单中使用的代码:
<input name="date" type="date" autofocus="autofocus" id="date" autocomplete="on" value="09-21-13"/>
有什么想法吗
谢谢。您需要使用JavaScript中的
date()
方法找出当前日期,并将其转换为ISO 8601表示法yyyy-mm-dd,这是input type=date
必须在内部使用的(因此属性value=“09-21-13”
无效并被忽略–它将指第9年第21个月的第13天,甚至因为月数太大而正式无效)
例如:
<input name="date" type="date" autofocus="autofocus" id="date" autocomplete="on" />
<script>
function ISO8601(date) {
var d = date.getDate();
if(d < 10) d = '0' + d;
var m = date.getMonth() + 1;
if(m < 10) m = '0' + m;
return date.getFullYear() + '-' + m + '-' + d;
}
document.getElementById('date').value = ISO8601(new Date());
</script>
功能ISO8601(日期){
var d=date.getDate();
如果(d<10)d='0'+d;
var m=date.getMonth()+1;
如果(m<10)m='0'+m;
返回日期。getFullYear()++'-'+m++'-'+d;
}
document.getElementById('date')。value=ISO8601(new date());
如果您使用JavaScript库,其中一些库可能有一个将日期转换为ISO 8601表示法的函数,但上面的简单函数也可以完成这项工作。它将显示错误的日期,因为
。getDate()
从0
返回数字,还有一种更简单的方法:new date().toISOString().split('T')[0]
确实存在错误,但不是使用getDate()
(返回月份的第1…31天),而是使用getMonth()
,返回从0开始的月数(即,0…12范围内的数字)。通过添加术语+1
修复了此问题。