Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.10.2017, 09:46
Интересующийся
Отправить личное сообщение для Aleksandr Chirkov Посмотреть профиль Найти все сообщения от Aleksandr Chirkov
 
Регистрация: 24.06.2017
Сообщений: 14

Не могу поставить текущую дату в тэг Date!
Всем доброе утро!! Захотел использовать штатный календарь для задания даты моего поля формы. Без проблем могу вытащить и узнать value записанное пользователем. Но вот вопрос. У меня этот календарь показывает число заданное мною через value (по умолчанию) а я хочу отображать текущую. Я попытался через JS это сделать но не могу заменить value - свойство innerHTML не работает.

<form>
<input type="date" value="2017-10-25" id="calendarForTasks">
</form>


function showCurrentDate()
{
	var getCurrentDay = new Date();
	var year = getCurrentDay.getFullYear();
	var month = getCurrentDay.getMonth();
	var day = getCurrentDay.getDate();
	var value1 = year + "-" + month + "-" + day ;
	
	var valueOld = document.getElementById("calendarForTasks").value;
	valueOld.innerHTML = value1;
}


Подскажите, что не так или может у тэга Date есть атрибут, который задаёт текущее время по умолчанию?
Ответить с цитированием
  #2 (permalink)  
Старый 27.10.2017, 09:50
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,791

Aleksandr Chirkov, у свойства "value" нет свойства "innerHTML".
function showCurrentDate()
{
	var getCurrentDay = new Date();
	var year = getCurrentDay.getFullYear();
	var month = getCurrentDay.getMonth();
	var day = getCurrentDay.getDate();
	var value1 = year + "-" + month + "-" + day ;
	
	document.getElementById("calendarForTasks").value=value1;
}
Ответить с цитированием
  #3 (permalink)  
Старый 27.10.2017, 09:53
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,108

Сообщение от Aleksandr Chirkov
не могу заменить value - свойство innerHTML не работает.
так value и меняйте !!!
строки 9-10;
document.getElementById("calendarForTasks").value = value1
Ответить с цитированием
  #4 (permalink)  
Старый 27.10.2017, 11:00
Интересующийся
Отправить личное сообщение для Aleksandr Chirkov Посмотреть профиль Найти все сообщения от Aleksandr Chirkov
 
Регистрация: 24.06.2017
Сообщений: 14

Не получается в том то и дело...я специально беру объект date и смотрю формат передачи текущего value он получается такой: 2017-10-25.
делаю переменную идентичной формы допустим: 2017-10-27...и вместо изменения значения, он скидывает на формат типа: дд.мм.гггг...и вот я думаю, что не так.

а вот ещё, после того, как я меняю переменную value

var valueOld = document.getElementById("calendarForTasks").value = value1;
alert(valueOld);

смотрю её алертом и вижу, что значение переменной поменялось на верное.
Ответить с цитированием
  #5 (permalink)  
Старый 27.10.2017, 11:22
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,791

Aleksandr Chirkov,
<form>
<input type="date" value="2017-10-25" id="calendarForTasks">
</form>
<script>
function showCurrentDate(){
	var d = new Date(),
      new_value=d.toISOString().slice(0,10);

		document.getElementById("calendarForTasks").value=new_value;
}
showCurrentDate();
</script>
Ответить с цитированием
  #6 (permalink)  
Старый 27.10.2017, 11:37
Интересующийся
Отправить личное сообщение для Aleksandr Chirkov Посмотреть профиль Найти все сообщения от Aleksandr Chirkov
 
Регистрация: 24.06.2017
Сообщений: 14

Спасибо Nexus, но я по другому решил, только не понятно почему так отрабатывает.

var value1 = year + "-" + (month + 1) + "-" + day ;
    document.getElementById("calendarForTasks").value=value1;


Вот так работает нормально, но это значит, что я не могу поставить туда предыдущий месяц и я не пойму почему так?
Ответить с цитированием
  #7 (permalink)  
Старый 27.10.2017, 11:41
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,791

Aleksandr Chirkov, потому что "месяц" должен иметь 2 символа, не 1.
(month<10?'0'+month:month)
Ответить с цитированием
  #8 (permalink)  
Старый 27.10.2017, 17:25
Новичок на форуме
Отправить личное сообщение для KoKr Посмотреть профиль Найти все сообщения от KoKr
 
Регистрация: 27.10.2017
Сообщений: 3

В js я совсем новичек, вот такой вот код получился)
<form>
<input type="date"   id="calendarForTasks">
</form>
<script type="text/javascript">


function showCurrentDate()
{

    var getCurrentDay = new Date();

    var year = getCurrentDay.getFullYear();

    var month = '';
    var month1 = getCurrentDay.getMonth() + 1; 
     if(month1 < 10){
    	month = '0' + month1  ;
    }else{
    	month = month1;
    }

    var day = '';
    if(getCurrentDay.getDate() < 10){
    	day = '0' + getCurrentDay.getDate();
    }
    else{
    	day = getCurrentDay.getDate();
    }

    var value1 = year + "-" + month + "-" + day ;

    value1.toString();
     

    var valueOld = document.getElementById("calendarForTasks");

    valueOld.setAttribute('value', value1);

}
showCurrentDate();

</script>

Последний раз редактировалось KoKr, 27.10.2017 в 17:44.
Ответить с цитированием
  #9 (permalink)  
Старый 27.10.2017, 17:33
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,108

KoKr,
добавьте run
[HTML run]ваш код[/HTML]
Ответить с цитированием
  #10 (permalink)  
Старый 27.10.2017, 17:42
Новичок на форуме
Отправить личное сообщение для KoKr Посмотреть профиль Найти все сообщения от KoKr
 
Регистрация: 27.10.2017
Сообщений: 3

рони,
Спасибо, учту на будущее не знал как его вставить.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Время,не правильное отображение скриптов Visual Общие вопросы Javascript 0 29.10.2013 19:12
Изменить формат числа и сделать текущую дату сегоднящней Devlin jQuery 8 22.11.2012 10:06