powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / document.getElementById()
12 сообщений из 12, страница 1 из 1
document.getElementById()
    #39252810
vdekameron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день! Подскажите пожалуйста почему этот метод выводит инфу в тег <p> и моментально эта инфа исчезает.
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
<!DOCTYPE HTML>
<html>
<head>
	<title>Дата и время дз</title>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
	<form name="myform" action="#" method="post" onsubmit="checkForm(this)">
		<input id ="form" type="text" name="date" placeholder="ДД.MM.ГГГГ"><br>
		<input type="submit" name="datesend" value="Посчитать">
	</form>
	<p id="answer"></p>
	<script type="text/javascript">
		function getMyFormatDate(date){
			var year = date.getFullYear();
			var month = date.getMonth() + 1;
			var date = date.getDate();
			if (date < 10) date = "0" + date;
			if (month < 10) month = "0" + month;
			return date + "." + month + "." + year;
		}
		function checkForm(info){
			// Проверяем правильно в нужном ли формате ввели дату
			var birth = info.date.value;
			var d = birth.match(/^[0-9]{2}\.[0-9]{2}\.[0-9]{4}$/i);
			// Считываем дату рождения
			var day = Number(birth.match(/[0-9]{2}/));
			// Считываем месяц рождения
			var month = Number(birth.match(/[0-9]{2}(?=\.[0-9]{4})/));
			// Считываем год рождения
			var year = Number(birth.match(/[0-9]{4}$/));
			if (!d) {
				alert("Неправильно введена дата. Смотрите пример ввода.");
			}
			var birthdayDate = new Date(year, month - 1, day);
			var realDate  = new Date()
			document.getElementById("answer").innerHTML = "C момента рождения до сегодняшнего дня прошло " + Math.floor((realDate - birthdayDate)/1000) + " секунд.";
		}
		var date = new Date();
	</script>
</body>
</html>
...
Рейтинг: 0 / 0
document.getElementById()
    #39252829
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vdekameron,

Ты форму на нее же сабмитишь.

Рисуешь форму
Жмешь кнопку
Отработал скрипт (появился текст)
Сабмит -> Рефреш формы и все по новой ;)

Вместо сабмита повесь на кнопку OnClick и будет тебе щастье.
...
Рейтинг: 0 / 0
document.getElementById()
    #39252831
Фотография Areostar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пологаю потому что форма перезагружает страницу! сделайте вместо формы див и в кнопке пропишите оnClick

или чтото подобное. Форма тут вообще не нужна. И да кнопку переделайте с сабмит на батн
...
Рейтинг: 0 / 0
document.getElementById()
    #39252872
vdekameron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DarkMaster,

Учел замечания....понял сам почему. Переделал, но почему то не считываются данные с <input type="text">
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
<!DOCTYPE HTML>
<html>
<head>
	<title>Дата и время дз</title>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
	<div>
		<input id="check" type="text" name="date" placeholder="ДД.MM.ГГГГ"><br>
		<input type="button" name="datesend" value="Посчитать" onclick="checkForm()">
	</div>
	<p id="answer"></p>
	<script type="text/javascript">
		function getMyFormatDate(date){
			var year = date.getFullYear();
			var month = date.getMonth() + 1;
			var date = date.getDate();
			if (date < 10) date = "0" + date;
			if (month < 10) month = "0" + month;
			return date + "." + month + "." + year;
		}
		function checkForm(){
			var birth = document.getElementById("check").innerHTML;
			// Проверяем правильно в нужном ли формате ввели дату
			var d = birth.match(/^[0-9]{2}\.[0-9]{2}\.[0-9]{4}$/i);
			// Считываем дату рождения
			var day = Number(birth.match(/[0-9]{2}/));
			// Считываем месяц рождения
			var month = Number(birth.match(/[0-9]{2}(?=\.[0-9]{4})/));
			// Считываем год рождения
			var year = Number(birth.match(/[0-9]{4}$/));
			if (!d) {
				alert("Неправильно введена дата. Смотрите пример ввода.");
				return false;
			}
			var birthdayDate = new Date(year, month - 1, day);
			var realDate  = new Date()
			alert("C момента рождения до сегодняшнего дня прошло " + Math.floor((realDate - birthdayDate)/1000) + " секунд.\nC момента рождения до сегодняшнего дня прошло " + Math.floor((realDate - birthdayDate)/60000) + " минут.\nC момента рождения до сегодняшнего дня прошло " + Math.floor((realDate - birthdayDate)/3600000) + " часов.\nC момента рождения до сегодняшнего дня прошло " + Math.floor((realDate - birthdayDate)/86400000) + " дней.\nC момента рождения до сегодняшнего дня прошло " + Math.floor((realDate - birthdayDate)/31536000000) + " лет.\n");
		}
		var date = new Date();
	</script>
</body>
</html>
...
Рейтинг: 0 / 0
document.getElementById()
    #39252875
vdekameron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vdekameron,

переменная birth пустая
...
Рейтинг: 0 / 0
document.getElementById()
    #39252917
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vdekameron,

Код: javascript
1.
var birth = document.getElementById("check").value
...
Рейтинг: 0 / 0
document.getElementById()
    #39252933
Фотография Areostar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подключите jQuery. с ним удобнее.
...
Рейтинг: 0 / 0
document.getElementById()
    #39252942
vdekameron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AreostarПодключите jQuery. с ним удобнее.
Я учусь. Хочу знать хоть азы JavaScript. Думаю это не помешает.
...
Рейтинг: 0 / 0
document.getElementById()
    #39252948
vdekameron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DarkMaster,

Я понял. innerHTML берет html данные у блочных элементов. У строчных нужно брать значение. Спасибо!
...
Рейтинг: 0 / 0
document.getElementById()
    #39252971
vdekameron,

посмотрите ещё textContent
...
Рейтинг: 0 / 0
document.getElementById()
    #39253287
Фотография бухалтер фантоцци
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vdekameronDarkMaster,

Я понял. innerHTML берет html данные у блочных элементов. У строчных нужно брать значение. Спасибо!не правильно,
строчные элементы тоже могут содержать HTML-код, который доступен через .innerHTML
у текстового поля ввода input свойство .innerHTML имеет тип string всегда с нулевой длиной, но есть свойтво .value
...
Рейтинг: 0 / 0
document.getElementById()
    #39253299
vdekameron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
бухалтер фантоццине правильно,
строчные элементы тоже могут содержать HTML-код, который доступен через .innerHTML
у текстового поля ввода input свойство .innerHTML имеет тип string всегда с нулевой длиной, но есть свойтво .value
Спасибо, понял
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / document.getElementById()
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]