如何在表单页面的发送按钮上设置超时

时间:2018-10-16 22:31:40

标签: html

我对html不太了解。 我有一个简单的网页,可以选择答案,格式如下:

一个问题,四个单选按钮
一个问题,四个单选按钮

以此类推。

底部是一个发送按钮,用于将输入发送到我的电子邮件,在这里我使用python解析输入。可以。

<input type="submit" value="Send Form">

我想要的是发送按钮上的超时,这样,在之后说:

2018年10月19日星期五18:00

发送按钮被禁用。我想显示一条消息,例如“您来不及了,我说在星期五六点之前交作业。”

对于实现此目标的任何提示,我将不胜感激。 PHP的? Javascript?

2 个答案:

答案 0 :(得分:1)

我是新来的,我无法添加评论。 希望此链接对您有所帮助:

这篇文章谈论计时器... Enable button when counter reaches zero

通过一些修改,您可以将其用于您的目的。

答案 1 :(得分:1)

下面的演示检查了2019年10月19日18:00的当前日期和时间。如果当前日期和时间晚于此日期和时间,则禁用提交按钮,并显示一条消息说明原因。我还把执行检查的功能附加到了提交按钮上。这种情况适用于用户在截止日期之前登陆页面,但时间在他们打开时到期并且无法及时提交的情况。在这种情况下,表单提交将推迟到相同的功能,并且如果截止日期已过,它将阻止表单提交。您可以通过将变量“终止”更改为较早的日期(例如10月16日)来进行测试。您也可以在start()中将对checkForExpiration()函数的调用注释掉,以测试表单提交部分。

var expMsg = document.getElementById("expireMsg");
var subBtn = document.getElementById("subBtn");
var terminate = new Date("October 19, 2018 18:00:00");
//
function start() {
  checkForExpiration();
}
//
function checkForExpiration() {
  expMsg.innerHTML = "";
  subBtn.disabled = false;
  var currentDate = new Date();
  //
  if (currentDate > terminate) {
    subBtn.disabled = true;
    expMsg.innerHTML = "Sorry, but you've missed the deadline";
    return false;
  } else {
    return true;
  }
}
//
window.onload = start();
<form name="myForm" onsubmit="return checkForExpiration();">
  <input id="subBtn" type="submit" value="Send Form">
</form>
<div id="expireMsg"></div>