我正在建立一个世界杯预测赛游戏,我遇到了一个我以前从未使用过的元素。基本上我需要一个按钮来禁用,如果时间超过某一点 - 我不希望人们能够在比赛结束后提交/编辑预测。
有人能指出我正确的方向吗?我已经创建了一个非常基本的表单,如下所示。为了清楚起见,我需要知道如果客户端时间是在01/07/2018之后的15:00之后禁用按钮。
<html>
<head>
<title>Main Page</title>
</head>
<body>
<form action="engine.asp" method="post" name="form1" id="form1">
<table width="50%" border="0">
<tr>
<td width="50%">Team Name:</td>
<td width="50%"><label>
<input type="text" name="TeamName" id="TeamName" />
</label></td>
</tr>
<tr>
<td width="50%">Winner?:</td>
<td width="50%"><label>
<input type="text" name="WinningTeam" id="WinningTeam" />
</label></td>
</tr>
<tr>
<td width="50%">Total Goals?:</td>
<td width="50%"><label>
<input type="text" name="TotalGoals" id="TotalGoals" />
</label></td>
</tr>
</table>
<input type="submit" class="button" value="Submit" />
</form>
</div>
</body>
</html>
我很感激人们可以提供的任何和所有帮助:)
提前致谢。
S上。
答案 0 :(得分:0)
这是一种可以禁用客户端按钮的方法。我还建议让服务器端按钮单击事件执行相同的检查,以防有人试图绕过禁用按钮。
客户端检查: 我先给你一个id:
<input type="submit" id="btnSubmit" class="button" value="Submit" />
将一个函数附加到window.onload全局事件处理程序:
window.onload = function () {
var myInterval = setInterval(checkTime, 1000);
}
比较日期,停止间隔和禁用按钮的简单功能:
function checkTime(){
var now = new Date();
var dateLimit = new Date("2018-01-07T15:00:00")
if (now > dateLimit){
clearInterval(myInterval);
document.getElementById("btnSubmit").disabled = true;
}
}
服务器端检查:
protected void btnSubmit_Click(object sender, EventArgs e)
{
DateTime now = DateTime.Now;
DateTime dateLimit = new Date(2018, 01, 07, 15, 0, 0);
if(DateTime.Compare(now, dateLimit) < 0)
{
//process the event
}
else
{
//send error message to user
return;
}
}