我正在尝试将表示日期的格式良好的字符串变量 (yyyy-mm-dd) 分配给<input type="date" />. 当值是字符串文字时,它起作用,但是当它来自变量或常量时,它不起作用。您可以检查以下 html 代码和呈现的 html 页面。<form> <p>Litteral Assignement: <input name="literalDate" type="date" /></p> <p>Variable Assignement: <input name="variableDate" type="date" /></p></form><script> var literalDateControl = document.querySelector('input[name="literalDate"]'); literalDateControl.value = "2019-07-24"; var today = new Date(); const todayValue = today.getFullYear() + '-' + (today.getMonth() + 1) + '-' + today.getDate(); var variableDateControl = document.querySelector('input[name="variableDate"]'); variableDateControl.value = todayValue;</script>关于如何解决这个问题的任何想法或建议?
3 回答
拉莫斯之舞
TA贡献1820条经验 获得超10个赞
问题是你的月份不是两位数。有很多方法可以填充单个数字,但它可能看起来像这样:
const getMonth = date => `${date.getMonth() + 1 < 10 ? '0' : ''}${date.getMonth() + 1}`;
const today = new Date();
const todayTest = today.getFullYear() + '-' + getMonth(today) + '-' + today.getDate();
const fixedTest = "2019-07-24";
document.querySelector('.a').value = todayTest;
document.querySelector('.b').value = fixedTest;
console.log(todayTest)
console.log(fixedTest)
<input class="a" type="date" />
<input class="b" type="date" />
添加回答
举报
0/150
提交
取消