javascript - 单击按钮获取周数

标签 javascript jquery html

我有一个函数,我想获取今天日期的周数,但我无法在单击按钮时在文本框中打印该值。我对 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/

相关文章:

Javascript 函数在以面向对象的方式定义时可以工作,但通常不能工作

javascript - JQuery 中的生日选择器

javascript - 在 Slider Bootstrap Carousel 中获取高度和宽度特定的 Div

javascript - parent 是绝对的;只有当它超过父高度限制时才给 child 一个滚动条

javascript - 用于回显相同 JSON 数据以进行测试的 REST API

javascript - jQuery animate - 不透明度比高度慢

php - 需要帮助格式化 PHP、javascript 树控件中目录列表的结果

javascript - 如何在 Node.Js 的 forEach 中使用 Select Query?

jquery - WordPress 页面加载器

javascript - JS 和 HTML 不同的 Footer Render