我希望javascript在我的div中编写特定的代码行,以便在特定日期按下按钮时激活链接。
使用Javascript:
function todaydate() {
var d=new Date();
d.setDate("Oktober 29, 2016")
document.getElementById('Vign1').innerHTML ="<a href="layout.php">";
}
按钮的Html:
<div id="Vign1">
<button onclick="todaydate();">
</button>
</a>
</div>
所以我的想法是,如果在f.e.点击按钮。 2016年10月29日,我的javascript添加了代码行来完成链接并激活它。有人可以帮助我,为什么它不起作用?
编辑:
日期检查不起作用。有人可以帮忙吗?它只应在特定日期或之后激活。但它不会起作用.. 我目前的代码:
function todaydate() {
var submitDate = new Date();
var oct30 = new Date("October 30, 2016 00:25:00 ");
if (oct30.getTime() == submitDate.getTime()) {
document.getElementById('link').setAttribute('href', 'layout.php');
}
else if (oct30.getTime() != submitDate.getTime()) {
document.getElementById('link').setAttribute('href', 'nichtverfuegbar.php');
}
答案 0 :(得分:3)
这里有几个问题:
document.getElementById('Vign1').innerHTML ="<a href="layout.php">";
这不会起作用,因为你的html字符串中嵌套了双引号。必须是这样的:
document.getElementById('Vign1').innerHTML ="<a href='layout.php'>";
然而,这也不是你想要的。这将只用开始标记覆盖div中的所有html,包括按钮,结束标记等。
另外,当您尝试编写链接时,您的链接中没有文字 - 如何看到任何内容点击?
这是一种方法。 (你也可以让onclick函数将整个链接添加为元素,如果这对你的用例更好。)注意 - 你仍然没有写任何实际的日期检查逻辑。我假设你接下来要做到这一点。在添加之前,此按钮将始终创建链接。
function todaydate() {
var d = new Date();
d.setDate("Oktober 29, 2016")
document.getElementById('link').setAttribute('href', 'layout.php');
// optional, for demo purposes
document.getElementById('link').innerText = 'A link!';
}
<div id="Vign1">
<button onclick="todaydate();">Click me!
</button>
<a id="link">Not a link</a>
</div>