如何将(格式良好的)字符串变量分配给 <input type="date" /> 值

我正在尝试将表示日期的格式良好的字符串变量 (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>

关于如何解决这个问题的任何想法或建议?


RISEBY
浏览 160回答 3
3回答

拉莫斯之舞

问题是你的月份不是两位数。有很多方法可以填充单个数字,但它可能看起来像这样: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" />
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript