如果用户在本地时间晚上 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/