zkrvndm
@zkrvndm
Архитектор решений

Как обновить элемент без перезагрузки страницы?

Отвечать не нужно, это чисто шпаргалка для остальных от меня. Способ ниже подойдет, если надо вам все надо сделать быстро и без создания отдельных обработчиков на стороне бэкенда, не особо заботясь над создаваемой нагрузкой.

P. S. imnotafraid, написал функцию специально для тебя.
  • Вопрос задан
  • 5882 просмотра
Решения вопроса 1
zkrvndm
@zkrvndm Автор вопроса
Архитектор решений
Пример функции для выборочного обновления контента:
async function elementUpdate(selector) {
	try {
		var html = await (await fetch(location.href)).text();
		var newdoc = new DOMParser().parseFromString(html, 'text/html');
		document.querySelector(selector).outerHTML = newdoc.querySelector(selector).outerHTML;
		console.log('Элемент '+selector+' был успешно обновлен');
		return true;
	} catch(err) {
		console.log('При обновлении элемента '+selector+' произошла ошибка:');
		console.dir(err);
		return false;
	}
}

Вызывайте функцию elementUpdate() передав внутрь него CSS-селектор того элемента, который вы хотите обновить. Например, если взять таблицу, которая имеет id равное test, то достаточно выполнить:
elementUpdate('table#test');

Если хотите привязать это действие к кнопке, то можете сделать так:
<button onclick="elementUpdate('table#test');">Нажми меня, чтобы обновить таблицу</button>
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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