gpt4 book ai didi

javascript - 单击按钮获取周数

转载 作者:行者123 更新时间:2023-12-01 00:55:50 26 4
gpt4 key购买 nike

我有一个函数,我想获取今天日期的周数,但我无法在单击按钮时在文本框中打印该值。我对 javascript 很陌生,我已经调试它好几个星期了。请帮忙

function getWeekNumber(d) {
d = new Date(Date.UTC(d.getFullYear(), d.getMonth(), d.getDate()));
d.setUTCDate(d.getUTCDate() + 4 - (d.getUTCDay()||7));
var yearStart = new Date(Date.UTC(d.getUTCFullYear(),0,1));
var weekNo = Math.ceil(( ( (d - yearStart) / 86400000) + 1)/7);
return [d.getUTCFullYear(), weekNo];
document.getElementById("week").value = getWeekNumber(new Date());

}
<td>WEEK: </td>
<td><input type="text" value= "" style= "width: 230px; padding-left: 3px" id="week" name="week"></td>
<input type="button" value="Get Week" onclick= "getWeekNumber()">

最佳答案

首先,您的函数“getWeekNumber()”在调用时需要一个参数 d,但是当您在输入按钮的 onclick 上调用它时,您没有给它这样的参数。我认为,您应该为单击输入按钮时设置一个事件监听器,然后从那里您应该调用 getWeekNumber() 函数并将其传递“new Date()”作为参数 d,因此它看起来像下面的代码中我添加了一个事件监听器。

您还从内部调用函数本身,但在 return 语句之后这样做是多余的。相反,您应该获取结果 weekNo 并将某个 div 的 innerHTML 设置为它,就像我所做的那样。我认为您不应该尝试填写输入框,因为这看起来不常见。我将其更改为 div 以使过程更简单、更容易:

let get_week_button = document.getElementById("get_week");

get_week_button.addEventListener("click", function() {
getWeekNumber(new Date());
});

function getWeekNumber(d) {
d = new Date(Date.UTC(d.getFullYear(), d.getMonth(), d.getDate()));
d.setUTCDate(d.getUTCDate() + 4 - (d.getUTCDay() || 7));
var yearStart = new Date(Date.UTC(d.getUTCFullYear(), 0, 1));
var weekNo = Math.ceil((((d - yearStart) / 86400000) + 1) / 7);

document.getElementById("week").value = weekNo;

}
<td>WEEK: </td>
<td>
<input type="text" value= "" style= "width: 230px; padding-left: 3px" id="week" name="week">
</td>
</tr>
<input id="get_week" type="button" value="Get Week">

关于javascript - 单击按钮获取周数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56590187/

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