我有一个html表单,我希望在凌晨12:00到下午4:20之间开放,4:20之后我想关闭表单并显示“此表格现已关闭”。这需要每天进行。我可以使用什么来设置时间并根据时间重定向用户?这是一个j查询的东西吗?
答案 0 :(得分:1)
这将在正确的时间关闭表单,而无需您重新加载页面。
<form id="my-form" style="display:none">
<label>Name: <input type="text" ></label>
</form>
<div id="form-closed" style="display:none">The form is now closed</div>
checkFormAvailability();
setInterval(function(){
checkFormAvailability();
}, 1000);
function checkFormAvailability() {
var minHours = 0;
var minMinutes = 0;
var maxHours = 16;
var maxMinutes = 20;
var minHourMinutes = (minHours * 100) + minMinutes;
var maxHourMinutes = (maxHours * 100) + maxMinutes;
var d = new Date();
var n = d.getHours() * 100;
var m = d.getMinutes();
var currentHourMinutes = n + m;
if (currentHourMinutes >= minHourMinutes && currentHourMinutes <= maxHourMinutes) {
$('#my-form').show();
$('#form-closed').hide();
}
else {
$('#my-form').hide();
$('#form-closed').show();
}
}
要测试一下,您可以将maxHours
和maxMinutes
更改为当前时间,它会在下一分钟开始关闭表单。
答案 1 :(得分:0)
每当他们访问/更新页面时,您都可以运行JavaScript函数,并根据小时和分钟执行不同的操作。
例如:
<head>
<script>
function changeForm() {
var d = new Date();
if(d.getHours() == 16) {
if(d.getMinutes() > 19 {
document.getElementById('myForm').style.display = "none";
document.getElementById('myMessage').innerHTML = "The form is now closed.";
}
}
if(d.getHours() > 16) {
document.getElementById('myForm').style.display = "none";
document.getElementById('myMessage').innerHTML = "The form is now closed.";
}
}
</script>
</head>
<body onload = changeForm()>
...
</body>