为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

RISEBY 2021-08-20 16:21:30
我正在尝试将表示日期的格式良好的字符串变量 (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" />


查看完整回答
反对 回复 2021-08-20
  • 3 回答
  • 0 关注
  • 159 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信