如果用户在晚上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肯定会被调用(仅用于测试),但日期的值不会增加。我不知道为什么这可以作为链接而不是作为一个功能。有谁看到我做错了什么?
最终有效:
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.");
}
答案 0 :(得分:1)
您发布的代码中未定义变量y
。因此,当您尝试y.value = ...
时,它将无法执行,因为y未定义。您可以在使用前定义y来纠正它。
或者在您的情况下,由于您已经在x
中缓存了该元素,因此您可以使用x本身。