Имеется массив из дат, при совпадении текущей даты с любым элементом массива выводится сообщение. Загвоздка в том, что добавление пользователем элемента в массив бессмысленна, при работе
ONLOAD="setTimeout( 'window.location.reload();', 1000 );", т.к. переменные обнуляются, в то же время без обновления страницы не будет выводиться сообщение. Решение сей проблемы вижу в:
1) выводе массива в отдельный динамический файл, данные в который будут попадать при добавлении их пользователем с помощью кнопки и функции
addelement(), соответственно эти данные нужно как-то выпихивать для проверки на равенство с текущей датой.
2) в обновлении не всей страницы, а только текущей даты.
Как реализовать первое, либо второе не имею представления. Вся надежда на вас, профи яваскрипта!
<script type="text/javascript">
var array = new Array();
array[0]= new Date(2010,10,18,01,25);
array[1]= new Date(2010,10,18,01,26);
array[2]= new Date(2010,10,18,01,27);
function addelement()
{
var y = prompt('Введите год:','2010');
var m = prompt('Введите месяц:','10');
var d = prompt('Введите день:','18');
var h = prompt('Введите час:','00');
var min = prompt('Введите минуту:','30');
array.push(new Date(y,m,d,h,min));
alert(array);
}
for (var i=0;i<array.length;i++){
if (array[i]==Date())
{
alert('YEAH BABY!!1');
}
}
</script>
<body ONLOAD="setTimeout( 'window.location.reload();', 1000 );">
<input type="button" value="Добавить элемент" onclick="addelement()"><br>
Массив:
<script type="text/javascript">
document.write(array.join(", "));
document.write("<br>Текущая дата: "+Date());
</script>
</body>
P.S. В довесок ко всему, меня мучает ещё один небольшой вопрос: как сделать вывод массива в реальном времени, т.е. чтобы он отображал своё содержимое в соответствии со всеми манипуляциями над ним, можно конечно прописать в функцию
addelement() строку
document.write(array.join(", "));, но это совершенно неприемлемо, т.к. результат должен быть на той же странице, а не в новой.
Буду бесконечно благодарен любым подсказкам и помощи!