为按钮 OnClick 动态创建文件名
Posted
技术标签:
【中文标题】为按钮 OnClick 动态创建文件名【英文标题】:Dynamically Creating Filename for Button 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>
提前致谢。
【问题讨论】:
【参考方案1】:我不是 100% 确定这是你想要做的,但我认为你希望按钮点击导航到另一个 html 页面,在这种情况下 - 你不远:
<button onclick="window.location=GetTodayInHistoryFilename()">
说明:您正在将窗口对象(在本例中为浏览器的***框架)的 location 属性设置为 (一个新的 url)。您已经使用您的函数定义了它,这很好。您犯的唯一错误是将函数包含在引号中。这意味着函数名称被视为文字文本字符串,而不是可执行函数。
您可能需要也可能不需要在window.location
中指定window.
(全局对象)。我不确定自己,但在这里得到了很好的回答:window.location versus just location
【讨论】:
以上是关于为按钮 OnClick 动态创建文件名的主要内容,如果未能解决你的问题,请参考以下文章