2015-04-05 6 views
0

Я пытаюсь сделать напоминание. В HTML у меня было бы 2 текстовых поля (один для даты и другой для чего-то вроде «Сегодня день рождения вашей бабушки!») и одна кнопка, которая выполняет эту функцию. Поэтому, когда пользователь вводит дату и текст и кнопку кликов, создается функция JavaScript, которая будет отображать «Сегодня день рождения вашей бабушки!» в каком-то параграфе, когда наступает этот день.
Я знаю, как сделать function reminder(), который отобразит «Сегодня день рождения вашей бабушки!» в заданную дату, но я не знаю, как сделать функцию, которая добавит мою функцию reminder() в мой JavaScript-документ.
Возможно ли это?Изменение содержимого JavaScript с помощью JavaScript

+2

Это не имеет большого смысла. Просто сделайте код всегда проверять, чтобы увидеть, какое сообщение (ы) показывать. – Pointy

+1

Я не думаю, что «изменение содержимого Javascript» является точной квалификацией для этой функции. – arothuis

+0

Я думаю, что это то, что вы ищете http://stackoverflow.com/questions/12964262/create-a-javascript-function-dynamically-from-a-string-name – Anshuman

ответ

0

Это немного глупо и, вероятно, не то, что вы хотите, но вы можете определенно переписать функцию на JavaScript, чтобы быть чем угодно. Пример ниже: в первый раз, когда вы запустите код, он предложит вам и сам изменит функцию, чтобы сделать что-то совершенно другое и использовать закрытие, оно будет фиксировать начальную дату и сообщение, которые будут использоваться при следующем вызове.

(function() { 
 
    'use strict'; 
 
    
 
    function Reminder() { 
 
    
 
    var aDate = prompt('Enter date (dd/mm/yyyy): '); 
 
    var msg = prompt('Enter message to aassociate with the date: '); 
 
    
 
    var inputDate = new Date(aDate); 
 
    
 
    Reminder = function() { 
 
     var todaysDate = new Date(); 
 
     if(inputDate.setHours(0,0,0,0) == todaysDate.setHours(0,0,0,0)) { 
 
      alert(msg); 
 
     }   
 
    }; 
 
    
 
    return Reminder; 
 
    } 
 
    
 
    //Firs time around ask for the data and dynamically change the function... 
 
    Reminder(); 
 
    
 
    //call it again... this time around it should remind you and no longer pompt... 
 
    Reminder(); 
 
    
 
}());

Как сказал комментарии, что Вы действительно хотите, вероятно, чтобы сохранить входы в каком-хранилище и, когда страница загружена, она будет извлекать данные из хранилища и сделать чтобы напомнить пользователю о вещах, которые ранее были сохранены.

Это определенно не так, но поскольку вы спросили, можете ли вы переписать javascript из javascript, да, вы можете.

+0

Я видел, как этот шаблон используется как механизм кеширования, где при первом вызове он возвращается на сервер и загружает данные, а затем использует переписывание, фиксирует любое полученное значение и просто выполняет это значение в следующий раз. запросил и сохранил страницу от перехода на сервер каждый раз, когда это необходимо. –

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