2016-10-29 2 views
0

Я хочу, чтобы javascript записывал определенную строку кода в мой div, чтобы активировать ссылку, когда кнопка нажата в определенную дату.Напишите строку кода в div с onclick

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. 29 октября 2016, мой javascript добавляет строку кода, чтобы завершить связь и активировать ее. Может кто-нибудь мне помочь, почему он не работает?

EDIT:

Проверка даты не работает. Может ли кто-нибудь помочь здесь? Его следует активировать только после определенной даты или после нее. Но это не будет работать .. Мой текущий код:

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'); 

} 

ответ

3

Несколько вопросов здесь:

document.getElementById('Vign1').innerHTML ="<a href="layout.php">"; 

Это не будет работать, потому что у вас есть двойные кавычки, вложенные в вашей HTML строки. Должно быть так:

document.getElementById('Vign1').innerHTML ="<a href='layout.php'>"; 

Однако, это также не то, что вы хотите. Это будет перезаписывать все html в div только с этим открывающим тегом, включая кнопку, закрывающий тег и т. Д.

Кроме того, ваша ссылка, поскольку вы пытаетесь ее написать, не будет содержать текст - как бы кто-нибудь видит что-нибудь щелкнуть?

Вот один из подходов. (Вы также можете просто использовать функцию 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>

+0

Это хорошо! Спасибо!! Но что мне делать, когда Not a link - это еще одна кнопка, которая должна активироваться и ссылаться на другую страницу? – pr0cz

+0

Я решил проблему с кнопкой. Но теперь другой вопрос - возможна ли активация только на 29 октября? Или даже после? Потому что я могу установить любую дату, и она активируется, если я нажму кнопку. – pr0cz

+0

Это определенно возможно - попробуйте выполнить поиск «javascript after date», и вы придумаете несколько хороших примеров. [Этот вопрос] (http://stackoverflow.com/questions/17350586/javascript-set-hidden-field-if-date-after-jan-15) должен указывать вам в правильном направлении. – jack

Смежные вопросы