可以修改此脚本以使其切换到页面链接吗?

时间:2019-02-22 22:09:19

标签: javascript html

这里的人非常友善地给了我这个脚本,以便在特定时间禁用“发送表单”按钮。效果很好!再次感谢!

var expMsg = document.getElementById("expireMsg");
var subBtn = document.getElementById("subBtn");
var terminate = new Date("October 30, 2018 20:30: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 I said send the homework before 8:30pm today. You are too late.";
    return false;
  } else {
    return true;
  }
}
//
window.onload = start();

我想做的是使用类似的方法来打开到表单页面的链接。这只是一个作业页面,没有敏感数据或内容。

要进入包含作业的表单页面,请在另一个页面上单击一个漂亮的绿色翻转按钮,如下所示:

<li><a href="17week7.html">学期第七周<p>week7 </p></a></li>

我认为实现我想要的最佳方法是使此按钮在特定时间生效。我认为可以修改上面的功能来做到这一点,但是我没有足够的知识来做到这一点。

请为该排名业余爱好者提供任何提示,提示或链接?

1 个答案:

答案 0 :(得分:1)

  

假设我今天上传了它,但我希望它能在2019年2月26日(星期二)下线

源数据(您要更改的链接):

<a href="17week7.html">学期第七周<p>week7 </p></a>

注意,除非HTML5标记,否则<p>标记不能包含在HTML标记的<a>标记内。但是,通常认为这是不好的意思,因此在此示例中,我删除了您的<p>标签。

为方便起见,我还用<li>替换了您的<div>

因此,使用您的原始代码,您可以将其重新设置为超出设置的日期

var linkMsg = document.getElementById("link");
    var kickoff = new Date("February 26, 2019 06:00:00");
    //

    function checkForValidation() {
        var currentDate = new Date();
        //
        if (currentDate > kickoff) {
           linkMsg.innerHTML = "<a href='17week7.html'>学期第七周 week7</a>";
        } 
    }
    //
    window.onload = checkForValidation();
   <div id='link'><a href='#'>This link is not yet valid</a></div>

输出:

在页面加载后之前指定的日期:

  <div id='link'><a href='#'>This link is not yet valid</a></div>

在页面加载后指定日期之后

  <div id='link'><a href='17week7.html'>学期第七周 week7</a></div>

这是什么:

  • 在容器元素中添加一个id值,在这种情况下为<div>,以标识日期正确时需要更新的链接。
  • 窗口加载时:
  • 这将获取现在的日期;并与目标日期进行比较(硬编码)
  • 如果 Now 的日期超过目标日期...
  • ...然后id的内容被更新,替换内容显示有效的锚链接。
  • JQuery可以用更整洁的方式做到这一点,但是我使用了给定的代码,因此您可以更轻松地了解正在发生的事情以及它是如何工作的。