Возможно ли?
ЕЕсть какой то период времени (который можно установить в полях с типом дата ), есть какие то компоненты даты (день недели, число, месяц, год), возможно ли найти все даты соответствующме указанным критериям, например пятница 13го, понедельник 1 января и тому подобное?
возможно ли отследить событие, когда изменили установленное значение в одном из элементов формы (c id day, id date, id month, id year) в остальных элементах значения очищались?
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="utf-8">
<title></title>
<style>
body { padding: 0 15px; }
div { min-width: 430px; border: 1px solid #ccc; padding: 5px; margin-top: 5px; }
span.text { font: italic 14px serif; color: hsl(207, 100%, 50%); }
span.background { display: inline-block;
background: -webkit-linear-gradient(top, hsl(207, 100%, 85%), hsl(207, 100%, 99%));
background: -moz-linear-gradient(top, hsl(207, 100%, 85%), hsl(207, 100%, 99%));
background: -o-linear-gradient(top, hsl(207, 100%, 85%), hsl(207, 100%, 99%));
background: linear-gradient(to top, hsl(207, 100%, 90%), hsl(207, 100%, 99%)); }
#day { width: 122px; background: hsl(207, 100%, 90%); color: hsl(207, 100%, 50%); border: 1px solid hsl(207, 100%, 50%); }
#date { width: 41px; background: hsl(207, 100%, 90%); color: hsl(207, 100%, 50%); border: 1px solid hsl(207, 100%, 50%); }
#month { width: 89px; background: hsl(207, 100%, 90%); color: hsl(207, 100%, 50%); border: 1px solid hsl(207, 100%, 50%); }
#year { width: 50px; height: 19px; padding-left : 5px; background: transparent; color: hsl(207, 100%, 50%); border: 1px solid hsl(207, 100%, 50%); }
#type_year { width: 115px; background: hsl(207, 100%, 90%); color: hsl(207, 100%, 50%); border: 1px solid hsl(207, 100%, 50%); }
#stopdata,
#startdata {
width: 91px;
height: 19px;
background: hsl(207, 100%, 90%);
color: hsl(207, 100%, 50%);
border: 1px solid hsl(207, 100%, 50%);
display: inline-block:
text-align: center; }
input, select { font: 14px serif; }
input[type=number], input[type=date] { -webkit-appearance: none; -moz-appearance: none; appearance: none; }
input[type=date]::-webkit-calendar-picker-indicator
{ display: none; }
input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
-webkit-appearance: none; }
input[type='number'] {
-moz-appearance: textfield; }
button { background: hsl(207, 100%, 90%); color: hsl(207, 100%, 50%); border: 1px solid hsl(207, 100%, 50%); font: 14px serif; position: relative; right: 2px; }
</style>
<script>
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('#startdata').value = d.getFullYear() + '-01-01';
document.querySelector('#stopdata').value = d.getFullYear() + '-12-31';
});
</script>
</head>
<body>
<div>
<span class="text">Выберите нужные компоненты даты и установите нужные значения.</span><br>
<select id="day">
<option value=""></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="0">Воскресенье</option>
</select><br/>
<select id="date">
<option value=""></option>
<option value="01">1</option>
<option value="02">2</option>
<option value="03">3</option>
<option value="04">4</option>
<option value="05">5</option>
<option value="06">6</option>
<option value="07">7</option>
<option value="08"> 8</option>
<option value="09">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>
<select id="month">
<option value=""></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>
<span class="background">
<input type="number" id="year"/>
</span>
<select id="type_year">
<option value="01" selected>любой</option>
<option value="02">простой</option>
<option value="03">высокосный</option>
</select><br><br>
<span class="text">Установите начало периода.</span><br>
<input type="date" id="startdata"/><br/>
<span class="text">Установите окончание периода.</span><br>
<input type="date" id="stopdata"/><br><br>
<button type="button">Начать поиск</button>
<button type="reset">Удалить результат и введённые данные</button>
</div>
<div id="rezultat">display none
</div>
</body>
</html>
|
Цитата:
Цитата:
Цитата:
|
Цитата:
|
рони,
другими словами, при первом изменении надо сбросить остальные значения и дать возможность пользователю ввести нужные ему, вместо того чтобы ввести нужные а остальные вручную очищать... |
Блондинка,
не знаю, не понимаю ваших вопросов и обьяснений. |
рони,
установлена сег. дата, если интересует например пятница 13го, то месяц и год надо очищать вручную, что можно сделать автоматически , сначала очистить и дать возможность ввести только нужные параметры... |
Блондинка,
не могу помочь. |
рони,
возможно ли отследить событие когда пользователь изменил значение, очистить присвоив атрибут селектед пустым опциям и удалить значение value у года, только один раз, при измении второго и последующих параметров очищать не надо, чтобы пользователь мог дальше вводить остальную часть параметров и/или начало/окончание периода |
Цитата:
Событие: change |
рони,
просто моих познаний недостаточно чтобы что-то понять |
Блондинка,
<!DOCTYPE html> <html> <head> <title>Untitled</title> <meta charset="utf-8"> </head> <body> <form action="http://"> <select onchange="var x = this.value;this.form.reset(); this.value = x"> <option value="">Выбор здесь сбросит остальные селекторы</option> <option value="1">Вариант 1</option> <option value="2">Вариант 2</option> <option value="3">Вариант 3</option> </select> <select> <option value="">Выберите что-нибудь</option> <option value="1">Вариант 1</option> <option value="2">Вариант 2</option> <option value="3">Вариант 3</option> </select> <select> <option value="">Выберите что-нибудь</option> <option value="1">Вариант 1</option> <option value="2">Вариант 2</option> <option value="3">Вариант 3</option> </select> </form> </body> </html> |
рони,
вот это именно то что нужно, только надо применить сразу ко всем селекторам и полю для года, только один раз, а при изменинии второго параметра не применять... |
рони,
я пытаюсь объяснить что неизвестно с какого элемента пользователь начнёт и в какой последовательности будет действовать... |
Цитата:
|
возможно ли один раз отследить событие во всех 4ех элементах, а после стирания прекратить отслеживать?
|
рони,
вот страНица
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="utf-8">
<title></title>
<style>
body { padding: 0 15px; }
div { min-width: 430px; border: 1px solid #ccc; padding: 5px; margin-top: 5px; }
span.text { font: italic 14px serif; color: hsl(207, 100%, 50%); }
span.background { display: inline-block;
background: -webkit-linear-gradient(top, hsl(207, 100%, 85%), hsl(207, 100%, 99%));
background: -moz-linear-gradient(top, hsl(207, 100%, 85%), hsl(207, 100%, 99%));
background: -o-linear-gradient(top, hsl(207, 100%, 85%), hsl(207, 100%, 99%));
background: linear-gradient(to top, hsl(207, 100%, 90%), hsl(207, 100%, 99%)); }
#day { width: 122px; background: hsl(207, 100%, 90%); color: hsl(207, 100%, 50%); border: 1px solid hsl(207, 100%, 50%); }
#date { width: 41px; background: hsl(207, 100%, 90%); color: hsl(207, 100%, 50%); border: 1px solid hsl(207, 100%, 50%); }
#month { width: 89px; background: hsl(207, 100%, 90%); color: hsl(207, 100%, 50%); border: 1px solid hsl(207, 100%, 50%); }
#year { width: 50px; height: 19px; padding-left : 5px; background: transparent; color: hsl(207, 100%, 50%); border: 1px solid hsl(207, 100%, 50%); }
#type_year { width: 115px; background: hsl(207, 100%, 90%); color: hsl(207, 100%, 50%); border: 1px solid hsl(207, 100%, 50%); }
#stopdata,
#startdata {
width: 91px;
height: 19px;
background: hsl(207, 100%, 90%);
color: hsl(207, 100%, 50%);
border: 1px solid hsl(207, 100%, 50%);
display: inline-block:
text-align: center; }
input, select { font: 14px serif; }
input[type=number], input[type=date] { -webkit-appearance: none; -moz-appearance: none; appearance: none; }
input[type=date]::-webkit-calendar-picker-indicator
{ display: none; }
input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
-webkit-appearance: none; }
input[type='number'] {
-moz-appearance: textfield; }
button { background: hsl(207, 100%, 90%); color: hsl(207, 100%, 50%); border: 1px solid hsl(207, 100%, 50%); font: 14px serif; position: relative; right: 2px; }
</style>
<script>
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('#startdata').value = d.getFullYear() + '-01-01';
document.querySelector('#stopdata').value = d.getFullYear() + '-12-31';
});
</script>
</head>
<body>
<div>
<span class="text">Выберите нужные компоненты даты и установите нужные значения.</span><br>
<select id="day">
<option value=""></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="0">Воскресенье</option>
</select><br/>
<select id="date">
<option value=""></option>
<option value="01">1</option>
<option value="02">2</option>
<option value="03">3</option>
<option value="04">4</option>
<option value="05">5</option>
<option value="06">6</option>
<option value="07">7</option>
<option value="08"> 8</option>
<option value="09">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>
<select id="month">
<option value=""></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>
<span class="background">
<input type="number" id="year"/>
</span>
<select id="type_year">
<option value="01" selected>любой</option>
<option value="02">простой</option>
<option value="03">высокосный</option>
</select><br><br>
<span class="text">Установите начало периода.</span><br>
<input type="date" id="startdata"/><br/>
<span class="text">Установите окончание периода.</span><br>
<input type="date" id="stopdata"/><br><br>
<button type="button">Начать поиск</button>
<button type="reset">Удалить результат и введённые данные</button>
</div>
<div id="rezultat">display none
</div>
</body>
</html>
|
возможно ли при изменинии значений элементов с id day, id date, id month, id year, id type_year отменить действие строк 43-46? чтобы селектед присвоился первым опциям с пустым value, и value в поле для года стерлось...
так возможно? |
???
|
???
|
возможно ли при событии onchange элементов с id day, id date, id month, id year, id type_year отменить действие строк 43-46? чтобы селектед присвоился первым опциям с пустым value, и value в поле для года стерлось...
так возможно? вот страницы
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="utf-8">
<title></title>
<style>
body { padding: 0 15px; }
div { min-width: 430px; border: 1px solid #ccc; padding: 5px; margin-top: 5px; }
span.text { font: italic 14px serif; color: hsl(207, 100%, 50%); }
span.background { display: inline-block;
background: -webkit-linear-gradient(top, hsl(207, 100%, 85%), hsl(207, 100%, 99%));
background: -moz-linear-gradient(top, hsl(207, 100%, 85%), hsl(207, 100%, 99%));
background: -o-linear-gradient(top, hsl(207, 100%, 85%), hsl(207, 100%, 99%));
background: linear-gradient(to top, hsl(207, 100%, 90%), hsl(207, 100%, 99%)); }
#day { width: 122px; background: hsl(207, 100%, 90%); color: hsl(207, 100%, 50%); border: 1px solid hsl(207, 100%, 50%); }
#date { width: 41px; background: hsl(207, 100%, 90%); color: hsl(207, 100%, 50%); border: 1px solid hsl(207, 100%, 50%); }
#month { width: 89px; background: hsl(207, 100%, 90%); color: hsl(207, 100%, 50%); border: 1px solid hsl(207, 100%, 50%); }
#year { width: 50px; height: 19px; padding-left : 5px; background: transparent; color: hsl(207, 100%, 50%); border: 1px solid hsl(207, 100%, 50%); }
#type_year { width: 115px; background: hsl(207, 100%, 90%); color: hsl(207, 100%, 50%); border: 1px solid hsl(207, 100%, 50%); }
#stopdata,
#startdata {
width: 91px;
height: 19px;
background: hsl(207, 100%, 90%);
color: hsl(207, 100%, 50%);
border: 1px solid hsl(207, 100%, 50%);
display: inline-block:
text-align: center; }
input, select { font: 14px serif; }
input[type=number], input[type=date] { -webkit-appearance: none; -moz-appearance: none; appearance: none; }
input[type=date]::-webkit-calendar-picker-indicator
{ display: none; }
input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
-webkit-appearance: none; }
input[type='number'] {
-moz-appearance: textfield; }
button { background: hsl(207, 100%, 90%); color: hsl(207, 100%, 50%); border: 1px solid hsl(207, 100%, 50%); font: 14px serif; position: relative; right: 2px; }
</style>
<script>
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('#startdata').value = d.getFullYear() + '-01-01';
document.querySelector('#stopdata').value = d.getFullYear() + '-12-31';
});
</script>
</head>
<body>
<div>
<span class="text">Выберите нужные компоненты даты и установите нужные значения.</span><br>
<select id="day">
<option value=""></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="0">Воскресенье</option>
</select><br/>
<select id="date">
<option value=""></option>
<option value="01">1</option>
<option value="02">2</option>
<option value="03">3</option>
<option value="04">4</option>
<option value="05">5</option>
<option value="06">6</option>
<option value="07">7</option>
<option value="08"> 8</option>
<option value="09">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>
<select id="month">
<option value=""></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>
<span class="background">
<input type="number" id="year"/>
</span>
<select id="type_year">
<option value="01" selected>любой</option>
<option value="02">простой</option>
<option value="03">высокосный</option>
</select><br><br>
<span class="text">Установите начало периода.</span><br>
<input type="date" id="startdata"/><br/>
<span class="text">Установите окончание периода.</span><br>
<input type="date" id="stopdata"/><br><br>
<button type="button">Начать поиск</button>
<button type="reset">Удалить результат и введённые данные</button>
</div>
<div id="rezultat">display none
</div>
</body>
</html>
|
возможно ли при событии onchange элементов с id day, id date, id month, id year, id type_year отменить действие строк 43-46? чтобы селектед присвоился первым опциям с пустым value, и value в поле для года стерлось...
так возможно? вот страницы
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="utf-8">
<title></title>
<style>
body { padding: 0 15px; }
div { min-width: 430px; border: 1px solid #ccc; padding: 5px; margin-top: 5px; }
span.text { font: italic 14px serif; color: hsl(207, 100%, 50%); }
span.background { display: inline-block;
background: -webkit-linear-gradient(top, hsl(207, 100%, 85%), hsl(207, 100%, 99%));
background: -moz-linear-gradient(top, hsl(207, 100%, 85%), hsl(207, 100%, 99%));
background: -o-linear-gradient(top, hsl(207, 100%, 85%), hsl(207, 100%, 99%));
background: linear-gradient(to top, hsl(207, 100%, 90%), hsl(207, 100%, 99%)); }
#day { width: 122px; background: hsl(207, 100%, 90%); color: hsl(207, 100%, 50%); border: 1px solid hsl(207, 100%, 50%); }
#date { width: 41px; background: hsl(207, 100%, 90%); color: hsl(207, 100%, 50%); border: 1px solid hsl(207, 100%, 50%); }
#month { width: 89px; background: hsl(207, 100%, 90%); color: hsl(207, 100%, 50%); border: 1px solid hsl(207, 100%, 50%); }
#year { width: 50px; height: 19px; padding-left : 5px; background: transparent; color: hsl(207, 100%, 50%); border: 1px solid hsl(207, 100%, 50%); }
#type_year { width: 115px; background: hsl(207, 100%, 90%); color: hsl(207, 100%, 50%); border: 1px solid hsl(207, 100%, 50%); }
#stopdata,
#startdata {
width: 91px;
height: 19px;
background: hsl(207, 100%, 90%);
color: hsl(207, 100%, 50%);
border: 1px solid hsl(207, 100%, 50%);
display: inline-block:
text-align: center; }
input, select { font: 14px serif; }
input[type=number], input[type=date] { -webkit-appearance: none; -moz-appearance: none; appearance: none; }
input[type=date]::-webkit-calendar-picker-indicator
{ display: none; }
input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
-webkit-appearance: none; }
input[type='number'] {
-moz-appearance: textfield; }
button { background: hsl(207, 100%, 90%); color: hsl(207, 100%, 50%); border: 1px solid hsl(207, 100%, 50%); font: 14px serif; position: relative; right: 2px; }
</style>
<script>
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('#startdata').value = d.getFullYear() + '-01-01';
document.querySelector('#stopdata').value = d.getFullYear() + '-12-31';
});
</script>
</head>
<body>
<div>
<span class="text">Выберите нужные компоненты даты и установите нужные значения.</span><br>
<select id="day">
<option value=""></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="0">Воскресенье</option>
</select><br/>
<select id="date">
<option value=""></option>
<option value="01">1</option>
<option value="02">2</option>
<option value="03">3</option>
<option value="04">4</option>
<option value="05">5</option>
<option value="06">6</option>
<option value="07">7</option>
<option value="08"> 8</option>
<option value="09">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>
<select id="month">
<option value=""></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>
<span class="background">
<input type="number" id="year"/>
</span>
<select id="type_year">
<option value="01" selected>любой</option>
<option value="02">простой</option>
<option value="03">высокосный</option>
</select><br><br>
<span class="text">Установите начало периода.</span><br>
<input type="date" id="startdata"/><br/>
<span class="text">Установите окончание периода.</span><br>
<input type="date" id="stopdata"/><br><br>
<button type="button">Начать поиск</button>
<button type="reset">Удалить результат и введённые данные</button>
</div>
<div id="rezultat">display none
</div>
</body>
</html>
|
Цитата:
неужели нельзя добавить условие, чтобы эти компоненты даты показывались при загрузке страницы только до срабатывания события и после клика на кнопку очистить? надеюсь что сейчас понятно сформулирован вопрос... |
Цитата:
оберните всё в body в тег <form> ваши дивы сюда </form> и кнопка <button type="reset">Удалить результат и введённые данные</button> будет удалять данные без всякого скрипта. |
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('#startdata').value = d.getFullYear() + '-01-01';
document.querySelector('#stopdata').value = d.getFullYear() + '-12-31';
});
|
Блондинка,
:-? |
рони
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('#startdata').value = d.getFullYear() + '-01-01';
document.querySelector('#stopdata').value = d.getFullYear() + '-12-31';
});
4,5,6 строчки присваивают селектед опциям для текущей даты 7 строка устанавливает в value текущий год 9 и 10 строки устанавливают первую и последнюю дату текущего года если убрать 4-7 строчки то селектед присвоится первым пустым опциям и год очистится или я не права? |
Цитата:
Цитата:
если вы ничего не присвоили, то останется то что было! что хотите сделать-то? |
Если ничего не присвоится то в селектах будут видны первые пустые опции вернее...
возможно ли сделать чтобы при загрузке страницы работали все строки, после внесения изменений в любой из [day, date, month, year, type_year] элементов, только 9, 10 строки, а после клика по кнопке очистить опять все строки... |
Блондинка,
не знаю, либо не понимаю. |
рони,
просто добавить функцию которая после события onchange в [...] элементах отменит присваивание (строка 4-7) а при клике на кнопку опять присвоит селектед и value... |
рони,
Может тут надо применить конструкцию if else if? Выводить сег. дату в элементах при загрузке страницы, при каждом событии onchange в элементах [day, date, month, year, type_year] проводить проверку, соответствуют ли введённые значения сег. дате и установлены ли селектед у обоих опций, если соответствует то показывать сег дату, если нет то присвоить селектед пустым опциям и удалить значение года наверное так понятно? P. S. проверять надо все пять элементов на соответствие... |
Блондинка,
я пас, я не понимаю, что вы пишите и хотите сделать. |
есть скрипт
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? |
Блондинка,
document.querySelector('#type_year').value = "год любой";
//или так
document.querySelector('#type_year').selectedIndex = 0;
|
Цитата:
что именно тут непонятно? |
Блондинка,
не могу помочь. |
рони,
я не знаю как объяснить, именно потому что не знаю что именно непонятно один элемент потерял фокус, провели проверку, нашли несовпадение, установили селектед в этом элементе той опции которую выбрал пользователь, другим элементам присвоили селектед пустым опциям, при потере фокуса во втором элементе провели проверку, нашли несоответствие, установили селектед в обоих элементах опциям выбраннным пользователем а в остальных элементах пустым опциям также с третьим элементом и т.д. |
Блондинка,
я не знаю как это сделать. |
Ух, жесть. Нарисуйте макеты по каждому состоянию, иначе никуда не уедите.
|
рони,
а можно м»изменить 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>
|
| Часовой пояс GMT +3, время: 08:56. |