Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/49: Рейтинг темы: голосов - 49, средняя оценка - 4.76
1 / 1 / 0
Регистрация: 23.10.2011
Сообщений: 38
1

Дата рождения с помощью select и javascript

15.11.2011, 10:47. Показов 9275. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
привет всем.У кого есть код, который генерирует дни месяца, названия месяца и года начиная с 1920. А то я столько <option> не хочу писать в ручную. Знаю , что можно сделать с помощью js,тока я ее не знаю. Спасиба

Добавлено через 13 часов 38 минут
я тут кое-что написала.вроде все нормально, а не работает. может скажите в чем дело??
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<html>
<head>
<script type="text\javascript">
function writeMonthOptions()
{
var Months = ["Jan","Feb","Mar","Apr","May","Jun","Jul","A ug","Sep","Oct","Nov","Dec"]
 
for (monthCounter = 0; monthCounter < Months.length; monthCounter++)
{
    document.write("<option value="+(monthCounter+1)+">" + Months[monthCounter]+" </option>");
}
}
</script>
</head>
<body>
<form>
<select name="Month">
writeMonthOptions();
</select>
<select name="day">
<script type="text\javascript">
for(var i=1; i<13; i++){
    document.write("<option value="+i+">"+i+"</option>");
}
</script>
</select>
<select name="year">
<script type="text\javascript">
var start=1900;
var eнd=2012;
for(var i=1 k=start; k<end; k++ i++){
    document.write("<option value="+i+">"+k+"</option>");
}
</script>
</select>
</form>
</body>
</html>
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.11.2011, 10:47
Ответы с готовыми решениями:

дата рождения = дата посещению
Добрый день! Пытаюсь сделать вот такой запрос выбрать и вывести только тех у кого совпадают...

Дата рождения
Всем добрый день! Такой вопрос появился. Есть БД и есть таблица Водители. В этой таблице есть 2...

Дата рождения студента
Помогите написать запрос, пожалуйста Дана Таблица. Составьте запрос для таблицы STUDENT таким...

Excel дата рождения
Народ, кто может-помогите. У меня следующая задача: Есть книга Exce, в ней указаны ФИО клиентов, их...

2
Просто любитель
626 / 464 / 120
Регистрация: 20.01.2011
Сообщений: 865
Записей в блоге: 2
15.11.2011, 16:24 2
Danisa, вы не изучаете PHP, случаем? Впервые вижу, как JS пытаются использовать в качестве PHP. Это неверный подход. И, кстати, за переменную с именем «енd» следует пороть.

Вот вариант, который может вам подойти:
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<html>
<head>
<body>
    <select id = "days"></select><select id = "months"></select><select id = "years"></select>
    <script type = "text/javascript">
        /*
            Функция injectSelect принимает объект select и ассоциативный массив.
            Select очищается, затем в него добавляются элементы option,
            значение которых устанавливают ключи массива, а текст — значения массива.
            Ничего не возвращает.
        */
        function injectSelect (sel, rowsObject) {
            var opt, x;
            sel.innerHTML = "";
            for (x in rowsObject) {
                opt = document.createElement("option");
                opt.value = x;
                opt.innerHTML = rowsObject[x];
                sel.appendChild(opt);
            }
        }
        /*
            Функция makeNumbersObject принимает два числа. Возвращает ассоциативный массив
            ряда чисел от меньшего к большему, включительно. 
        */
        function makeNumbersObject (from, to) {
            var result = {}, x;
            if(from > to) { // Если from меньше to, поменять их значения друг на друга.
                var z = from;
                from = to;
                to = z;
            }
            for (x = from; x <= to; x++) {
                result[x] = x;
            }
            return result
        }
        injectSelect(document.getElementById("months"), {
            jan:"Январь", feb:"Февраль", mar:"Март", apr:"Апрель", 
            may:"Май", jun:"Июнь", jul:"Июль", avg:"Август", 
            sep:"Сентябрь", okt:"Октябрь", nov:"Ноябрь", dec:"Декабрь"
        }); // Наполняем месяца
        injectSelect(document.getElementById("years"), makeNumbersObject(1920, 2012)); // Наполняем года
        injectSelect(document.getElementById("days"), makeNumbersObject(1, 31));// Наполняем дни
    </script>
</body>
</html>
Минусы моего решения:
1. Не контролируется, сколько реально дней в выбранном месяце. Т.е. пользователь может выбрать 31 Февраля, например. Следует или включить контроль в код или проверять данные по факту отправки.
0
5 / 6 / 4
Регистрация: 03.12.2009
Сообщений: 267
15.11.2011, 16:27 3
Лучший ответ Сообщение было отмечено Danisa как решение

Решение

Javascript
1
var Months = ["Jan","Feb","Mar","Apr","May","Jun","Jul","A ug","Sep","Oct","Nov","Dec"]
Нет точки с запятой на конце. Первое, что бросилось в глаза, а вообще консоль Google Chrome'а тебе в помощь
0
15.11.2011, 16:27
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.11.2011, 16:27
Помогаю со студенческими работами здесь

дата рождения в регистрации
подскажите код добавки &quot;дата рождения&quot; в регистрации

Введена дата рождения
Введена дата рождения сколько дней прошло с последнего дня рождения

Не записывается дата рождения
&lt;select size=&quot;1&quot; name=&quot;DR&quot;&gt;&lt;option value=&quot;0&quot;&gt;Год&lt;option...

Дата Рождения римскими цифрами
MDIVCXCVII


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru