Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.07.2015, 17:10   #1
7in
(aka Jin X) !RTFM!
Форумчанин
 
Аватар для 7in
 
Регистрация: 14.12.2014
Сообщений: 295
По умолчанию Отследить момент обновления textarea

Читаю файл id=loadfile в textarea id=doms, при этом в span id=loadingtext записывается инфа о процессе загрузки. После загрузки надпись "Файл успешно прочитан!" появляется на 2 секунды, а затем исчезает (setTimeout).
Но вот беда! Если файл большой, то добавление его содержимого в textarea происходит длительное время (грузится он быстро, именно обновление textarea идёт долго). Т.о., если это добавление будет длится 1.5 секунды, то надпись появится всего на 0,5 секунды. А если 2 секунды и более, то она вообще не появится.
Надо, чтобы setTimeout запускался не сразу после присвоения getEl('doms').value = file.target.result;, а после того, как textarea обновится. Как это сделать?
Код:
function load_from_file() {

	function msg(s, t, green) {
		var el = getEl('loadingtext');
		if (green) el.style.color = '#008000'; else el.style.color = '#900';
		el.innerHTML = s;
		if (t) setTimeout("getEl('loadingtext').innerHTML = '';", t);
	}
	
	var el = getEl('loadfile');
	if (!el.value) return;
	var file = el.files[0];
	var reader = new FileReader();
	reader.onload = function(file) {
		getEl('doms').value = file.target.result;
		msg('Файл успешно прочитан!', 2000, true);
	};
	reader.onerror = function() {
		msg('Ошибка чтения файла!', 3000);
	};
	msg('Идёт чтение файла, пожалуйста, подождите...');
	reader.readAsText(file);
}

function getEl(id) {
	return document.getElementById(id);
}
Делаю лабы на Asm/Delphi/C++/Python/VBA(Excel): asmlabs.ru
7in вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Непонятный момент Oduvanchi C# (си шарп) 3 10.05.2014 17:05
HTML, обновление поля textarea без обновления всей страницы Finish HTML и CSS 1 25.02.2014 17:40
Как отследить момент момент добавления новой записи? artemavd БД в Delphi 4 11.09.2012 09:17
Как программно отследить момент запуска другого приложения win7? mixaleon C# (си шарп) 13 06.08.2012 14:31
textarea style Стиль тега textarea jasul PHP 3 19.03.2012 16:49