Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #31 (permalink)  
Старый 29.08.2019, 07:06
Аватар для Блондинка
Профессор
Отправить личное сообщение для Блондинка Посмотреть профиль Найти все сообщения от Блондинка
 
Регистрация: 24.02.2019
Сообщений: 806

рони,
Может тут надо применить конструкцию if else if?
Выводить сег. дату в элементах при загрузке страницы, при каждом событии onchange в элементах [day, date, month, year, type_year] проводить проверку, соответствуют ли введённые значения сег. дате и установлены ли селектед у обоих опций, если соответствует то показывать сег дату, если нет то присвоить селектед пустым опциям и удалить значение года

наверное так понятно?

P. S. проверять надо все пять элементов на соответствие...
Ответить с цитированием
  #32 (permalink)  
Старый 29.08.2019, 11:06
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

Блондинка,
я пас, я не понимаю, что вы пишите и хотите сделать.
Ответить с цитированием
  #33 (permalink)  
Старый 29.08.2019, 11:24
Аватар для Блондинка
Профессор
Отправить личное сообщение для Блондинка Посмотреть профиль Найти все сообщения от Блондинка
 
Регистрация: 24.02.2019
Сообщений: 806

есть скрипт
document.addEventListener('DOMContentLoaded', function() {
        var d = new Date();

        document.querySelector('#day').value = d.getDay()
        document.querySelector('#date').value = d.getDate();
        document.querySelector('#month').value = d.getMonth()+1;
        document.querySelector('#year').value = d.getFullYear();

        document.querySelector(#type_year)

        document.querySelector('#startdata').value = d.getFullYear() + '-01-01';
        document.querySelector('#stopdata').value = d.getFullYear() + '-12-31';
    });


есть элемент
<select id="type_year">
<option>год любой</option>
<option value="365">простой</option>
<option value="366">высокосный</option>
</select>


как присвоить селектед опции у которой нету value?
Ответить с цитированием
  #34 (permalink)  
Старый 29.08.2019, 13:01
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

Блондинка,
document.querySelector('#type_year').value = "год любой";
   //или так 
document.querySelector('#type_year').selectedIndex = 0;
Ответить с цитированием
  #35 (permalink)  
Старый 29.08.2019, 20:53
Аватар для Блондинка
Профессор
Отправить личное сообщение для Блондинка Посмотреть профиль Найти все сообщения от Блондинка
 
Регистрация: 24.02.2019
Сообщений: 806

Сообщение от рони Посмотреть сообщение
Блондинка,
я не понимаю, что вы пишите и хотите сделать.
я хочу чтобы при потере фокуса у любого элемента из пперечислгеныхх [day, date,, month, year, type_year], провести проверку на соответствие сегодн дате (первоначальным значениям), и стереть сег дату если первонач значения отличаются от текущих(после потери фокуса)

что именно тут непонятно?
Ответить с цитированием
  #36 (permalink)  
Старый 29.08.2019, 21:56
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

Блондинка,
не могу помочь.
Ответить с цитированием
  #37 (permalink)  
Старый 29.08.2019, 21:58
Аватар для Блондинка
Профессор
Отправить личное сообщение для Блондинка Посмотреть профиль Найти все сообщения от Блондинка
 
Регистрация: 24.02.2019
Сообщений: 806

рони,
я не знаю как объяснить, именно потому что не знаю что именно непонятно

один элемент потерял фокус, провели проверку, нашли несовпадение, установили селектед в этом элементе той опции которую выбрал пользователь, другим элементам присвоили селектед пустым опциям,
при потере фокуса во втором элементе провели проверку, нашли несоответствие, установили селектед в обоих элементах опциям выбраннным пользователем а в остальных элементах пустым опциям
также с третьим элементом и т.д.
Ответить с цитированием
  #38 (permalink)  
Старый 29.08.2019, 22:17
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

Блондинка,
я не знаю как это сделать.
Ответить с цитированием
  #39 (permalink)  
Старый 29.08.2019, 23:05
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,495

Ух, жесть. Нарисуйте макеты по каждому состоянию, иначе никуда не уедите.
__________________
29375, 35
Ответить с цитированием
  #40 (permalink)  
Старый 29.08.2019, 23:25
Аватар для Блондинка
Профессор
Отправить личное сообщение для Блондинка Посмотреть профиль Найти все сообщения от Блондинка
 
Регистрация: 24.02.2019
Сообщений: 806

рони,
а можно м»изменить html код
<input type="date" id="startdata">
<input type="date" id="stopdata">

на
<select id="startdata"></select>
<select id="startmonth"></select>
<input id="startyear">
<select id="stopdata"></select>
<select id="stopmonth"></select>"
<input id="stopyear">

и сделать как тут?
<!DOCTYPE HTML>
<html>
<head>
  <title></title>
 <meta charset="utf-8">
<style type="text/css">
	html{background: #fff;}
	body{width: 800px; margin: 20px auto; background: #ddd; padding: 20px; border: 1px solid}
	.empty{box-shadow: 0 0 10px #f00;}
</style>
<script>
window.onload = function () {
    var day = new Date,
        md = (new Date(day.getFullYear(), day.getMonth() + 1, 0, 0, 0, 0, 0)).getDate(),
        $month_name = "января февраля марта апреля мая июня июля августа сентября октября ноября декабря".split(" ");

    function set_select(a, c, d, e) {
        var el = document.getElementsByName(a)[0];
        for (var b = el.options.length = 0; b < c; b++) {
            el.options[b] = new Option(a == 'month' ? $month_name[b] : b + d, b + d);
         }
        el.options[e] && (el.options[e].selected = !0)
    }
    set_select("day", md, 1, day.getDate() - 1);
    set_select("month", 12, 1, day.getMonth());
    set_select("year", 11, day.getFullYear()-10, 10);

    document.getElementsByName('hour')[0].value = day.getHours()
    document.getElementsByName('minute')[0].value = day.getMinutes()

    var year = document.getElementById('year');
    var month = document.getElementById("month");

    function check_date() {
        var a = year.value | 0,
            c = month.value | 0;
        md = (new Date(a, c, 0, 0, 0, 0, 0)).getDate();
        a = document.getElementById("day").selectedIndex;
        set_select("day", md, 1, a)
    };

    if (document.addEventListener) {
        year.addEventListener('change', check_date, false);
        month.addEventListener('change', check_date, false);

    } else {
        year.detachEvent('onchange', check_date);
        month.detachEvent('onchange', check_date);
    }

}
</script>
</head>
<body>
<h3>Дата</h3>
<form action="" method="post">
<select name="day" id="day"></select>
<select name="month" id="month" ></select>
<select name="year" id="year" ></select>
<input type="text" name="hour" size="2" value="">
<input type="text" name="minute" size="2" value=""><br><br>
<input type="submit" value="Go">
</form>
</body>
</html>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Javascript+Anki = диктант, возможно ли? Student_000 Общие вопросы Javascript 3 15.01.2019 22:45
Возможно ли к сайту одностраничнику на AngularJS прикрутить Wordpress? Mechman Angular.js 0 05.07.2015 03:51
Возможно ли считать инфу посетителей с чужого сайта? Klerik Общие вопросы Javascript 2 20.09.2013 15:42
зависымый select на html возможно ли? pro_ef Библиотеки/Тулкиты/Фреймворки 1 20.02.2013 22:49
Возможно ли? zork0 Общие вопросы Javascript 8 12.12.2012 16:09