【问题标题】:Dynamically Creating Filename for Button OnClick为按钮 OnClick 动态创建文件名
【发布时间】:2018-09-13 07:12:17
【问题描述】:

我有一个家谱网站,想显示我们家庭在当前日期(月和日)的所有事件。所以,如果今天是 4 月 3 日,我想展示我们家发生在 4 月 3 日的所有事件。

我尝试过创建表格和隐藏行等,但表格太大而且耗时太长。因此,我决定为一年中的每一天创建一个单独的 .htm 文件(即 todayinhistory-0101.htm、todayinhistory-0102.htm 等)。

我有一个按钮,当点击该按钮时,可以获取 MMDD 格式的当前日期,然后打开正确的文件。

我有脚本可以使用 MMDD 格式的当前日期获取正确的文件名,但我不知道如何调用它并使其工作。

现在,我的按钮如下所示:

<button onclick="location='GetTodayInHistoryFilename()'">

GetTodayInHistoryFilename() 是一个我知道有效的函数。我只是无法正确调用按钮格式。

显然,我是新手,希望得到任何人的帮助。

如果您有兴趣,这里是 GetTodayInHistoryFilename() - 加载到页面的标题部分:

<script type='text/javascript'>
 function GetTodayInHistoryFilename()
     {
         var Today = new Date();
         var TodayMonth = Today.getMonth()+1;
         var TodayDay = Today.getDate();
         if (TodayMonth < 10) { TodayMonth = '0' + String(TodayMonth); } else { TodayMonth = String(TodayMonth); }
         if (TodayDay < 10) { TodayDay = '0' + String(TodayDay); } else { TodayDay = String(TodayDay); }
         return 'todayinhistory-' + TodayMonth + TodayDay + '.htm';
     }
</script>

提前致谢。

【问题讨论】:

    标签: dynamic onclick filenames


    【解决方案1】:

    我不是 100% 确定这是你想要做的,但我认为你希望按钮点击导航到另一个 HTML 页面,在这种情况下 - 你不远:

    <button onclick="window.location=GetTodayInHistoryFilename()">
    

    说明:您正在将窗口对象(在本例中为浏览器的顶级框架)的 location 属性设置为 (一个新的 url)。您已经使用您的函数定义了它,这很好。您犯的唯一错误是将函数包含在引号中。这意味着函数名称被视为文字文本字符串,而不是可执行函数。

    您可能需要也可能不需要在window.location 中指定window.(全局对象)。我不确定自己,但在这里得到了很好的回答:window.location versus just location

    【讨论】:

      猜你喜欢
      • 2016-06-29
      • 1970-01-01
      • 1970-01-01
      • 2020-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-17
      • 1970-01-01
      相关资源
      最近更新 更多