【问题标题】:How to set a timeout on a send button on a form page如何在表单页面上的发送按钮上设置超时
【发布时间】:2018-10-16 22:31:39
【问题描述】:

我对 html 了解不多。 我有一个用于多项选择答案的简单网页,格式如下:

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

等等。

底部是一个发送按钮,用于将输入发送到我的电子邮件,我使用 python 来解析输入。这工作正常。

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

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

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

发送按钮已停用。我想显示一条小消息,例如“你来不及了,我说在星期五 6 点之前交作业。”

我将非常感谢有关如何实现这一目标的任何提示。 php? Javascript?

【问题讨论】:

标签: html


【解决方案1】:

下面的演示会根据 2019 年 10 月 19 日 18:00 检查当前日期和时间。如果当前日期和时间晚于该日期和时间,则提交按钮被禁用,并显示一条消息解释原因。我还在提交按钮上附加了执行检查的功能。这适用于用户在截止日期之前登陆页面但时间到期而他们无法及时提交的情况。在这种情况下,表单提交被推迟到相同的函数,如果截止日期已过,它将阻止表单提交。您可以通过将变量“terminate”更改为较早的日期来测试这一点,例如 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>

【讨论】:

  • 非常感谢。我会尝试用我有限的技能来应用它。让您知道我是否可以正常工作,谢谢
  • 我不确定将上述代码放在哪里。在网页html代码中内联?就在
    代码上方??抱歉,我对此不太了解,我只是到处复制一些代码,尝试使其工作。
  • 我会将 JavaScript 代码放在脚本标签 之间,放在关闭正文标签
【解决方案2】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-22
    • 1970-01-01
    • 2012-11-13
    相关资源
    最近更新 更多