Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа с датами, интервалы 
:(
    Опции темы
Step
Дата 16.1.2004, 10:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

Репутация: нет
Всего: 25



есть 3 колонки
ГОД, МЕСЯЦ, Число
При нажатие на год го прописывается в переменную
при нажатии на месяц он прописывается в другой переменной и производиться обновление третей колонки в соответсвии с количесвом дней в месяце..... при нажатие на число прописывается в третью переменную

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

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

Спасибо.....


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
Aliance
Дата 7.3.2005, 19:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



А какие г/м/д ? С потолка? Или из вып. списка?
Уточните.
Вот простой пример записи значения в функцию:
Код

<HTML>
<HEAD>
<title>Тест</title>
<script type="text/javascript">
function calc () {
// Переменные, которые будут изменяться
var y, m, d;
// Год в контейнере
var ys = document.getElementById("year");
// Месяц в контейнере
var ms = document.getElementById("month");
// День в контейнере
var ds = document.getElementById("day");

// изменяем их значения
y = ys.innerHTML;
m = ms.innerHTML;
d = ds.innerHTML;

// Год в переменной
document.getElementById("yearV").innerHTML = y;
// Месяц в переменной
document.getElementById("monthV").innerHTML = m;
// День в переменной
document.getElementById("dayV").innerHTML = d;
}
</script>
</HEAD>

<BODY>

<div id="block" style="border: 1px red solid; padding: 10px;">
<BR>
<table border=1 cellpadding=10>
<TR>
<TD>Год</TD>
<TD>Месяц</TD>
<TD>Число</TD>
</TR>
<TR onclick="calc();">
<TD><div id="year">2005</div></TD>
<TD><div id="month">03</div></TD>
<TD><div id="day">08</div></TD>
</TR>
<TR>
<TD colspan=3>Var "Год": <span id="yearV">-</span></TD>
</TR>
<TR>
<TD colspan=3>Var "Месяц": <span id="monthV">-</span></TD>
</TR>
<TR>
<TD colspan=3>Var "День": <span id="dayV">-</span></TD>
</TR>
</table>
</div>

</BODY>
</HTML>

PM MAIL WWW ICQ Skype   Вверх
Sardar
Дата 9.3.2005, 01:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Обьект Date не скажет сколько в дней в месяце, придётся делать самому. Смотрим пример, за него говорим большое спасобо Cheba:
Код
function checkYear(year) {
return (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) ? 1 : 0;
}

function daysFromMonth(month, leap)
{
var result = 0;
for (var i = 0; i < month; i++)
{
 switch (i)
 {
  case 0:
  case 2:
  case 4:
  case 6:
  case 7:
  case 9:
  case 11:
   result += 31;
  case 3:
  case 5:
  case 8:
  case 10:
   result += 30;
  case 1:
   result += leap ? 29 : 28;
 }
}
return result;
}

function diff(date1, date2, mode)
{
var d1 = new Date(date1);
var d2 = new Date(date2);

switch (mode)
{
 case "years":
  return Math.abs(d1.getFullYear() - d2.getFullYear());
  break;
 case "months":
  return Math.abs((d1.getFullYear() * 12 + d1.getMonth()) - (d2.getFullYear() * 12 + d2.getMonth()));
  break;
 case "days":
  return Math.round(Math.abs((d1.getTime() - d2.getTime()) / 1000/60/60/24));
  break;
 case "hours":
 return Math.round(Math.abs((d1.getTime() - d2.getTime()) / 1000/60/60));
  break;
 case "minutes":
  return Math.round(Math.abs((d1.getTime() - d2.getTime()) / 1000/60));
  break;
 case "seconds":
  return Math.round(Math.abs((d1.getTime() - d2.getTime()) / 1000));
  break;
 case "miliseconds":
  return Math.round(Math.abs(d1.getTime() - d2.getTime()));
  break;
 default:
  return "NaN";
}
}

function getResult()
{
var f = document.forms.f;
f.elements.result.value = diff(f.elements.d1.value, f.elements.d2.value, f.elements.mode.value);
}

HTML
<form name="f" method="post" action="">
Date1:
<input type="text" name="d1">
<br>
Date2:
<input type="text" name="d2">
<br>
Mode:
<select name="mode" value="years">
<option value="years" selected>Years</option>
<option value="months">Months</option>
<option value="days">Days</option>
<option value="hours">Hours</option>
<option value="minutes">Minutes</option>
<option value="seconds">Seconds</option>
<option value="miliseconds">Miliseconds</option>
</select>
<br>
<input type="button" name="calc" value="Calculate" onClick="getResult();">
<br>
<br>
Result: <input type="text" readonly="1" name="result">
</form>



--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.2825 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.