Не могу поставить текущую дату в тэг 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 есть атрибут, который задаёт текущее время по умолчанию? :-? |
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;
}
|
Цитата:
строки 9-10;
document.getElementById("calendarForTasks").value = value1
|
Не получается в том то и дело...я специально беру объект date и смотрю формат передачи текущего value он получается такой: 2017-10-25.
делаю переменную идентичной формы допустим: 2017-10-27...и вместо изменения значения, он скидывает на формат типа: дд.мм.гггг...и вот я думаю, что не так. а вот ещё, после того, как я меняю переменную value var valueOld = document.getElementById("calendarForTasks").value = value1; alert(valueOld); смотрю её алертом и вижу, что значение переменной поменялось на верное. |
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>
|
Спасибо Nexus, но я по другому решил, только не понятно почему так отрабатывает.
var value1 = year + "-" + (month + 1) + "-" + day ;
document.getElementById("calendarForTasks").value=value1;
Вот так работает нормально, но это значит, что я не могу поставить туда предыдущий месяц и я не пойму почему так? |
Aleksandr Chirkov, потому что "месяц" должен иметь 2 символа, не 1.
(month<10?'0'+month:month) |
В 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,
добавьте run [HTML run]ваш код[/HTML] |
рони,
Спасибо, учту на будущее;) не знал как его вставить. |
| Часовой пояс GMT +3, время: 13:06. |