Форум программистов, компьютерный форум, киберфорум
JavaScript для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
1 / 1 / 0
Регистрация: 01.05.2020
Сообщений: 28

Знаки зодиака

29.11.2020, 19:08. Показов 2025. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, нужно исправить код так, чтобы при выборе одного месяца был выбор из 31 дней, а при выборе февраля к примеру был выбор из 28 дней. В данном коде пользователь выбирает месяц и количество дней всегда 31. Требуется исправить код так чтобы при выборе определенного месяца было определенное количество дней.
PHP/HTML
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
<HTML>
<HEAD>
<script type="text/javascript">
function learn_sign() {
var date = document.znak_zodiac.your_date.value;
var this_month = document.znak_zodiac.your_month.selectedIndex;
with (document.znak_zodiac.znak){
if (this_month==1 && date>=20 || this_month==2 && date<=18) value="Водолей";
else if (this_month==2 && date>=19 || this_month==3 && date<=20) value="Рыбы";
else if (this_month==3 && date>=21 || this_month==4 && date<=19) value="Овен";
else if (this_month==4 && date>=20 || this_month==5 && date<=20) value="Телец";
else if (this_month==5 && date>=21 || this_month==6 && date<=21) value="Близнецы";
else if (this_month==6 && date>=22 || this_month==7 && date<=22) value="Рак";
else if (this_month==7 && date>=23 || this_month==8 && date<=22) value="Лев";
else if (this_month==8 && date>=23 || this_month==9 && date<=22) value="Дева";
else if (this_month==9 && date>=23 || this_month==10 && date<=22) value="Весы";
else if (this_month==10 && date>=23 || this_month==11 && date<=21) value="Скорпион";
else if (this_month==11 && date>=22 || this_month==12 && date<=21) value="Стрелец";
else if (this_month==12 && date>=22 || this_month==1 && date<=19) value="Козерог";
else value="Неверная дата!";
var d = new Date(2000, this_month-1, date);
 
if ((d.getMonth()!=this_month-1) || (d.getDate()!=date)) value="Неверная дата!";
}
}
</script>
 <style>
   body {
    background: #333; /* Цвет фона */
   }
   .b1{
     background: navy;
     color: white;
   }
   .b2{
     background: yellow;
     color: black;
   }
  
  </style>
</HEAD>
<BODY>
<div style="text-align: center;">
<H1 style="color:#00ff00">Знаки зодиака</H1>
</div>
<div style="text-align: left;">
<form name="znak_zodiac" action="znak_zodiac.php">
<select name="your_month">
<option value="0">&nbsp;</option>
<option value="1">Январь</option>
<option value="2">Февраль</option>
<option value="3">Март</option>
<option value="4">Апрель</option>
<option value="5">Май</option>
<option value="6">Июнь</option>
<option value="7">Июль</option>
<option value="8">Август</option>
<option value="9">Сентябрь</option>
<option value="10">Октябрь</option>
<option value="11">Ноябрь</option>
<option value="12">Декабрь</option>
</select>
<select name="your_date">
<option value="0">&nbsp;</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
</select>
<input INPUT TYPE="button" class="b1" VALUE="Определить знак зодиака" onClick=learn_sign()>
<input type="text"class="b2" name="znak" size=10 >
</form>
</div>
</TABLE>
</FORM>
</BODY>
</HTML>
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.11.2020, 19:08
Ответы с готовыми решениями:

Определить знак зодиака
У меня есть скрипт определяющий знак зодиака(через case of), проблема заключается в том, что у меня не получается вывеси &quot;неправильный...

Вывести соответствующий знак зодиака
Пользователь вводит дату рождения в виде строки: день-месяц-год. Ваша задача вывести соответствующий знак зодиака. И все это нужно...

Скрипт, определяющий по введенной дате рождения знак зодиака, день недели, был ли год рождения високосным.
Здравствуйте, ребят буду благодарен если кто напишет, в написанном постараюсь разобраться сам. Скрипт, определяющий по введенной дате...

2
12 / 9 / 6
Регистрация: 06.12.2015
Сообщений: 33
29.11.2020, 21:58
Посоветовал бы сделать нечто вроде такого Т.е. создать функцию,которая будет принимать на вход количество дней месяца и генерировать в цикле сколько нужно.
JavaScript
1
2
3
4
5
6
7
8
9
10
const select=document.createElement("select");
for(let i=0;i<31;i++){
  const opt=document.createElement("option");
opt.value=i+1;
opt.innerText=i+1;
select.appendChild(opt);
}
 
document.getElementById("myDiv").appendChild(select);
select.addEventListener("change",()=>alert(select.value))
1
Эксперт JS
6496 / 3907 / 2006
Регистрация: 14.06.2018
Сообщений: 6,781
01.12.2020, 08:32
Лучший ответ Сообщение было отмечено azepard как решение

Решение

Здравствуйте.
В данной теме улучшаем скрипт из JS для чайников
PHP/HTML
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>зодиак</title>
    <style>
        body {
            background: #333;
        }
 
        .b1 {
            background: navy;
            color: white;
        }
 
        .b2 {
            background: yellow;
            color: black;
        }
 
        div {
            width: 400px;
            margin: 0 auto;
        }
 
        form h1 {
            color: #00ff00;
            text-align: center;
        }
 
        form label {
            color: white;
        }
    </style>
</head>
<body>
    <div>
        <form name="znak_zodiac">
            <h1>Знаки зодиака</h1>
            <label>Месяц:</label> <select name="your_month"></select>
            <label>День:</label> <select name="your_date"></select>
            <br><br>
            <label>Ваш знак зодиака -</label> <input type="text" class="b2" name="znak" disabled>
        </form>
    </div>
    <script>
        let months = [
            ["Январь", 31, "Водолей", 20],
            ["Февраль", 29, "Рыбы", 19],
            ["Март", 31, "Овен", 21],
            ["Апрель", 30, "Телец", 20],
            ["Май", 31, "Близнецы", 21],
            ["Июнь", 30, "Рак", 22],
            ["Июль", 31, "Лев", 23],
            ["Август", 31, "Дева", 23],
            ["Сентябрь", 30, "Весы", 23],
            ["Октябрь", 31, "Скорпион", 23],
            ["Ноябрь", 30, "Стрелец", 22],
            ["Декабрь", 31, "Козерог", 22]
        ];
        let znak_zodiac = document.forms["znak_zodiac"],
            your_month = znak_zodiac.your_month,
            your_date = znak_zodiac.your_date;
        your_month.appendChild(new Option("Выберите месяц...", 0, true, true));
        your_month[0].disabled = true;
        your_date.appendChild(new Option("Выберите день...", 0, true, true));
        your_date[0].disabled = true;
 
        your_date.disabled = true;
 
        for (let i = 0; i < 12; i++)
            your_month.appendChild(new Option(months[i][0], i + 1));
 
        // Обработчик события лучше навешивать в скрипте
        your_month.onchange = month_change;
        your_date.onchange = date_change;
 
        function month_change() {
            your_date.disabled = false;
            your_date.options.length = 1; // Очистить предыдущий список до неактивной строки
            your_date[0].selected = true; // Надо выбрать неактивную строку, само не выберется
            let count = months[+your_month.value - 1][1]; // Количество дней в месяце
            for (let i = 1; i <= count; i++)
                your_date.appendChild(new Option(i, i));
 
            znak_zodiac.znak.value = ""; // Знак зодиака не известен
        }
 
        function date_change() {
            let month = +your_month.value;
            let day = +your_date.value;
            znak_zodiac.znak.value = month && day > 0 && day <= months[month - 1][1]
                ? day >= months[month - 1][3]
                    ? months[month - 1][2]
                    : (month > 1
                        ? months[month - 2][2]
                        : months[11][2]
                    )
                : "Неверная дата!"
        }
    </script>
</body>
</html>
Особенность действий в том. что когда выбрали месяц и день, уже не обязательно нажимать другие кнопки.
Кнопка потом будет нужна, чтобы отправить, но не для расчётов.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.12.2020, 08:32
Помогаю со студенческими работами здесь

знак зодиака
Приветик. Помогите плиз написать сценарий, который по дате рождения человека определяет знак его зодиака. Заранее благодарю.

Ошибка в коде по определению количества прожитых дней и знака зодиака
Здравствуйте. Есть сразу 2 вопроса: Первый - почему функция при вызове через calc(a,b,c) напрочь отказывается видеть переменную a =...

Знаки Зодиака
Помогите пожалуйста написать программу в Pascal'e... Астрологи делят год на 12 периодов: 20.1 - 18.2 – Водолей 23.7 - 22.8 –...

Знаки Зодиака
Добрый день! Прошу помочь с решением задачи. Составить программу которая по заданной дате отображает на экране название соответствующего...

Знаки зодиака
Даны два целых числа: D(день) и M(месяц), определяющие правильную дату. Вывести знак Зодиака, соответствующий этой дате:...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
ПЛИС
zxcha1ka_ 27.01.2026
AHDL Разработать программы для синтеза следующих устройств: 1. Параллельного регистра 4-х разрядного с синхронной загрузкой и асинхронным сбросом (обнулением); Пoмoгитe пoжaлyйстa
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru