Javascript 点击按钮获取周数

Javascript 点击按钮获取周数,javascript,jquery,html,Javascript,Jquery,Html,我有一个函数,我想得到今天日期的周数,但我不能在我的文本框中点击按钮打印值。我是javascript新手,我已经调试了几个星期了。请帮忙 函数getWeekNumber(d){ d=新日期(Date.UTC(d.getFullYear(),d.getMonth(),d.getDate()); d、 setUTCDate(d.getUTCDate()+4-(d.getUTCDay()| | 7)); var yearStart=新日期(Date.UTC(d.getUTCFullYear(),0,

我有一个函数,我想得到今天日期的周数,但我不能在我的文本框中点击按钮打印值。我是javascript新手,我已经调试了几个星期了。请帮忙

函数getWeekNumber(d){ d=新日期(Date.UTC(d.getFullYear(),d.getMonth(),d.getDate()); d、 setUTCDate(d.getUTCDate()+4-(d.getUTCDay()| | 7)); var yearStart=新日期(Date.UTC(d.getUTCFullYear(),0,1)); var weekNo=Math.ceil(((d-年初)/86400000)+1)/7); return[d.getUTCFullYear(),weekNo]; document.getElementById(“周”).value=getWeekNumber(新日期()); }
每周:
首先,调用函数“getWeekNumber()”时需要一个参数d,但当您单击输入按钮调用它时,您没有给它这样的参数。我认为,您应该为单击输入按钮时设置一个事件侦听器,然后从那里调用getWeekNumber()函数并将其作为参数d传递给“new Date()”,因此它看起来像下面的代码,我在其中添加了一个事件侦听器

您还从内部调用了函数本身,但是在返回语句之后这样做是多余的。相反,您应该获得结果weekNo并将某个div的innerHTML设置为它,就像我所做的那样。我认为你不应该试着填写一个输入框,因为这似乎不太传统。我将其更改为div,以使流程更简单、更容易:

let get_week_button=document.getElementById(“get_week”);
get_week_按钮。addEventListener(“单击”,函数()){
getWeekNumber(新日期());
});
函数getWeekNumber(d){
d=新日期(Date.UTC(d.getFullYear(),d.getMonth(),d.getDate());
d、 setUTCDate(d.getUTCDate()+4-(d.getUTCDay()| | 7));
var yearStart=新日期(Date.UTC(d.getUTCFullYear(),0,1));
var weekNo=Math.ceil(((d-年初)/86400000)+1)/7);
document.getElementById(“week”).value=weekNo;
}
每周:
首先,调用函数“getWeekNumber()”时需要一个参数d,但当您单击输入按钮调用它时,您没有给它这样的参数。我认为,您应该为单击输入按钮时设置一个事件侦听器,然后从那里调用getWeekNumber()函数并将其作为参数d传递给“new Date()”,因此它看起来像下面的代码,我在其中添加了一个事件侦听器

您还从内部调用了函数本身,但是在返回语句之后这样做是多余的。相反,您应该获得结果weekNo并将某个div的innerHTML设置为它,就像我所做的那样。我认为你不应该试着填写一个输入框,因为这似乎不太传统。我将其更改为div,以使流程更简单、更容易:

let get_week_button=document.getElementById(“get_week”);
get_week_按钮。addEventListener(“单击”,函数()){
getWeekNumber(新日期());
});
函数getWeekNumber(d){
d=新日期(Date.UTC(d.getFullYear(),d.getMonth(),d.getDate());
d、 setUTCDate(d.getUTCDate()+4-(d.getUTCDay()| | 7));
var yearStart=新日期(Date.UTC(d.getUTCFullYear(),0,1));
var weekNo=Math.ceil(((d-年初)/86400000)+1)/7);
document.getElementById(“week”).value=weekNo;
}
每周:

您调用
函数getWeekNumber(d)
类似于
getWeekNumber()
所以
d
是未定义的。。。应该是什么?这是我的参考代码所以?正确使用该答案中的代码-您也在函数结束前返回,幸运的是,因为您将以无限递归结束,因此调用
函数getWeekNumber(d)
类似
getWeekNumber()
这样
d
是未定义的。。。应该是什么?这是我的参考代码所以?正确使用该答案中的代码-您还将在函数结束前返回,幸运的是,因为您将以无限递归结束,但我需要该值位于textbox@MusilixAlright中,如果这是您真正需要的,我编辑了代码以确认这一点。我只是将我创建的div改回了您使用的输入元素,并没有设置innerHTML,而是设置了它的value属性,但仍然无法让它工作。我是不是错过了什么@Musilix“rel=”nofollow noreferrer“>code.jquery.com/jquery-1.11.0.js'>它在上面的代码片段中工作。确保使用正确的扩展名在单独的文件中指定js和html,并确保在html文件中正确设置脚本标记以引用js文件。不需要jQuery,这是vanilla js;除非你在文件中使用jQuery,但我需要在textbox@MusilixAlright中输入这个值,如果你真的需要的话,我编辑了代码以确认这一点。我只是将我创建的div改回了您使用的输入元素,并没有设置innerHTML,而是设置了它的value属性,但仍然无法让它工作。我是不是错过了什么@Musilix“rel=”nofollow noreferrer“>code.jquery.com/jquery-1.11.0.js'>它在上面的代码片段中工作。确保使用正确的扩展名在单独的文件中指定js和html,并确保在html文件中正确设置脚本标记以引用js文件。不需要jQuery,这是vanilla js;除非您对文件中的其他内容使用jQuery。