gpt4 book ai didi

javascript - 需要帮助将函数的输出作为输入表单的值

转载 作者:行者123 更新时间:2023-12-03 11:25:38 24 4
gpt4 key购买 nike

所以我正在尝试创建一个表单,将下周五的日期作为值发送。该值的格式应为“YYYY-MM-DD”

这是我目前所拥有的:

<input type="hidden" name="next_charge_scheduled_at" id="s1" value="" />
<script type="text/javascript">
var elem = document.getElementById("s1");
elem.value = function()
{
var d = new Date();

switch (d.getDay())
{
case 0: d.setDate(d.getDate() + 5);
break;

case 1: d.setDate(d.getDate() + 4);
break;

case 2: d.setDate(d.getDate() + 3);
break;

case 3: d.setDate(d.getDate() + 2);
break;

case 4: d.setDate(d.getDate() + 1);
break;

case 6: d.setDate(d.getDate() + 6);
break;
}

return d;

};
</script>

但是,据我所知,这会返回整个函数,而不是结果。

我做错了什么?

最佳答案

你已经绑定(bind)了一个函数到 elem.value。如果你想把函数的结果放到 elem.value 中,可以这样做:

<input type="hidden" name="next_charge_scheduled_at" id="s1" value="" />
<script type="text/javascript">
var elem = document.getElementById("s1");
elem.value=getDate();

function getDate()
{
var d = new Date();

switch (d.getDay())
{
case 0: d.setDate(d.getDate() + 5);
break;

case 1: d.setDate(d.getDate() + 4);
break;

case 2: d.setDate(d.getDate() + 3);
break;

case 3: d.setDate(d.getDate() + 2);
break;

case 4: d.setDate(d.getDate() + 1);
break;

case 5: d.setDate(d.getDate() + 7);
break;

case 6: d.setDate(d.getDate() + 6);
break;
}

return `${d.getFullYear()}-${(d.getMonth() + 1) }-${d.getDate()}`;

};

关于javascript - 需要帮助将函数的输出作为输入表单的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60882758/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com