Javascript 显示默认日期值HTML表单iOS

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

在iOS设备上以HTML格式启动日期选择器的按钮中是否有显示当前日期的方法


以下是当前加载的内容:

以下是我希望它自动加载的内容:


以下是我在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
修复了此问题。