javascript - if 11pm 调用函数更改表单输入值

标签 javascript forms date time

如果用户在本地时间晚上 11 点到 12 点之间(无论如何是系统时间)使用我的网站,我需要在 HTML 表单中更改值

目前我这样做:

<a id="dayLink" class="tooltip" name="dayLink"  onclick='javascript: document.getElementById("day").value++; window.alert("date has been advanced by 1 day.");'>

这可行,但要求用户看到链接,将鼠标悬停在其上以阅读工具提示,然后单击更改值的链接。

我想自动化此操作,以便它在后台发生,而用户甚至不知道。

这是我尝试过的:

window.onload=function(){
 myMonthFunction();
 myDayFunction();

}



function myDayFunction()
{
    var d = new Date();
    var x = document.getElementById("day");
    x.value=d.getDate();

    y.value=hours[d.getHours()];

    if (y == 11){

      document.getElementById("day").value++; 
      window.alert("date has been advanced by 1 day.");

    }
}

window.alert 肯定会被调用(仅用于测试),但day 的值不会增加。我不确定为什么它作为链接起作用,而不是作为函数起作用。有人看到我做错了什么吗?

<小时/>

最终的效果:

function myDayFunction()
{
    var d = new Date();
    var x = document.getElementById("day");
    x.value=d.getDate();

    var hours = d.getHours()

    if (hours == 23){

      document.getElementById("day").value++; 
      window.alert("date has been advanced by 1 day.");
}

最佳答案

变量y您发布的代码中未定义。因此,当您尝试y.value = ...时它不会执行,因为 y 未定义。您可以通过在使用 y 之前定义 y 来更正它。

或者在您的情况下,因为您已经在 x 中缓存了该元素,您可以使用 x 本身。

关于javascript - if 11pm 调用函数更改表单输入值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14548299/

相关文章:

javascript - 函数 numberIsEven if 语句

javascript - 有条件呈现的 Web 组件和样式表链接

javascript - 将 Highcharts map 与 React 组件集成

forms - 子组件的 Angular Form 验证

forms - Symfony2 动态表单生成

javascript - 使用 valueOf/toString

php - 从下拉菜单将数据插入数据库 - PHP MYSQL

java - 在java中指定持续时间

php - 将日期数组拆分为连续的日期数组

javascript - 在终端中运行函数时无输出