Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Работа с датой (https://javascript.ru/forum/misc/49643-rabota-s-datojj.html)

Jeka_2015 22.08.2014 09:48

Работа с датой
 
Не корректно работает код. Вычисляет, но данные исчезают, помогите пожалуйста найти причину. Ниже код:
function check(form) {
var birthday = form.birthday.value;
var bd = birthday.match(/^[0-1][0-9]\,[0-3][0-9]\,[0-9][0-9][0-9][0-9]$/);
if (!bd) {
alert("Дата рождения введена неверно! Повторите ввод заново.");
return false;
}
var date = new Date();
var converted = Date.parse(birthday);
var myDate = new Date(converted);
var sec = (date - myDate) / 1000;
var hours = sec/3600;
var days = hours/24;
document.getElementById("sec").innerHTML = sec;
document.getElementById("hours").innerHTML = hours;
document.getElementById("days").innerHTML = days;
return true;
}
<form action="#" name="myforms" method="post" onsubmit="return check(this)">
<p>
Введите дату своего рождения в формате - мм,дд,гггг: <input type="text" name="birthday" />
</p>
<p>
<input type="submit" value="Подтвердить" />
</p>
</form>
Человек прожил <span id="sec">00</span> секунд.<br />
Человек прожил <span id="hours">00</span> часов.<br />
Человек прожил <span id="days">00</span> дней.<br />

skrudjmakdak 22.08.2014 10:07

ктое что подправил, вот код:
<!doctype html>
<html>
<head>
  <title>demo</title>
  <!--<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>-->
</head>
<body>
<script>
	function check(form) {
	var birthday = document.querySelector('input[name=birthday]').value;
	var bd = birthday.match(/^[0-1][0-9]\,[0-3][0-9]\,[0-9][0-9][0-9][0-9]$/);
	if (!bd) {
	alert("Дата рождения введена неверно! Повторите ввод заново.");
	return false;
	}
	var date = new Date(); //текущая дата
	
	var ar = birthday.split(',');
	var myDate = new Date(ar[2], ar[0] - 1, ar[1]); //введеная дата
	console.log(date);
	console.log(myDate);
	var sec = (date - myDate) / 1000;
	var hours = sec/3600;
	var days = hours/24;
	
	document.getElementById("sec").innerHTML = sec;
	document.getElementById("hours").innerHTML = hours;
	document.getElementById("days").innerHTML = days;
	}
</script>
<div>мм,дд,гггг: <input type="text" value="08,22,2014" name="birthday" /></div>
<div><input type="button" value="Подтвердить" onclick="check()"/></div>

 <div id="sec"></div>
 <div id="hours"></div>
 <div id="days"></div>
</body>
</html>

будут вопросы, спрашивайте

Jeka_2015 22.08.2014 12:05

Большое спасибо! Очень помогли.

Виталий_Д 22.01.2015 18:15

Не хотел создавать новую тему. Помогите написать простенький скрипт подстановки даты. Необходимо в тексте вставить дату готовности заказа. Т.е. сегодня = n дней. Помогите, пожалуйста!!!


Часовой пояс GMT +3, время: 12:13.