@Reflections

Почему сбрасываются изменения в textContent HTML-разметки после обновления страницы? Как этим управлять?

Здравствуйте.

Вопрос начинающего. Есть разметка:
<div class="container">
		<div class="p text-1">
			Lorem ipsum dolor sit amet consectetur adipisicing elit. Neque esse odit quidem
			similique,
			quas dolores officiis porro magnam quia, maxime reprehenderit repudiandae officia fugit beatae. Neque
			temporibus expedita quo a.
		</div>
		<div class="p text-2">
			Lorem ipsum dolor sit amet consectetur adipisicing elit. Laborum labore eos cum
			dicta rem?
			Hic delectus animi quidem recusandae labore nihil doloremque et qui. Facilis recusandae quisquam sapiente
			labore id.
		</div>
	</div>
	<div class="container">
		<div class="editor-wrap">
			<div class="editor-item">
				<textarea type="text" class="editor-1"></textarea>
				<button type="button" class="btn--edit-1">Редактировать 1-й абзац</button>
			</div>
			<div class="editor-item">
				<textarea type="text" class="editor-2"></textarea>
				<button type="button" class="btn--edit-2">Редактировать 2-й абзац</button>
			</div>
		</div>
	</div>


Есть скрипт:
let btnEditor1 = document.querySelector('.btn--edit-1'),
	 btnEditor2 = document.querySelector('.btn--edit-2'),
	 textArea1 = document.querySelector('.editor-1'),
	 textArea2 = document.querySelector('.editor-2'),
	 text1 = document.querySelector('.text-1'),
	 text2 = document.querySelector('.text-2');

btnEditor1.addEventListener('click', function() {
		text1.textContent = textArea1.value;
		textArea1.value = '';
	}
});

btnEditor2.addEventListener('click', function() {
	text2.textContent = textArea2.value;
	textArea2.value = '';
});


Сделано все в рамках обучения. Не настоящий проект.

После обновления страницы, текст внутри HTML-абзацев меняется на тот, что в исходном коде указан по умолчанию. Как управлять этим?
Как сделать, чтобы то, что я ввел в textarea сохранялось в разметке страницы навсегда, пока целенаправленно не будет изменено повторно?

Подскажите пожалуйста.
  • Вопрос задан
  • 199 просмотров
Решения вопроса 1
ThunderCat
@ThunderCat Куратор тега JavaScript
{PHP, MySql, HTML, JS, CSS} developer
Как сделать, чтобы то, что я ввел в textarea сохранялось в разметке страницы
Куки, локалсторэйдж. По сути вы не можете изменить саму страницу через код, так как жс не умеет локально писать на диск без спроса (секюрити, и все вот это). При изменении странички через жс меняется только ее копия в оперативной памяти, сам исходный документ остается неизменным. Но для локального хранения придумали защищенные хранилища данных, котрые хранят текстовое представление каких-то данных (куки и локалсторэйдж).

навсегда, пока целенаправленно не будет изменено повторно?
Есть ограничения, во первых на длину данных, во вторых - срок жизни и принудительная очистка куки. Так что "навсегда" звучит слишком монументально, но думаю вам подойдет и просто на длительный срок )
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы