Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.07.2017, 14:33
Аспирант
Отправить личное сообщение для prog77 Посмотреть профиль Найти все сообщения от prog77
 
Регистрация: 05.07.2017
Сообщений: 57

Как реализовать ctrl+z для простых полей ввода
Добрый день есть много полей для ввода, я заполняю их жму кнопку сформировать, и в них возвращаются сформированные данные, но не всегда эти данные верные. у меня вопрос как можно реализовать отменить действие для поля в которое была добавлена сформированная информация. То есть нажал на поле нажал на ctrl+z и вернулся старый результат для этого поля.Спасибо
Ответить с цитированием
  #2 (permalink)  
Старый 27.07.2017, 15:26
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

есть мысль, информация которую вы вводите в инпуты по потере фокуса сохранять в отдельную ячейку массива, и тогда у вас будет как бы история ввода. можно будет реализовать перемещение по ней вперед и назад.
Ответить с цитированием
  #3 (permalink)  
Старый 27.07.2017, 15:34
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

недавно решал, такую задачу, вот вам пример!

<!DOCTYPE html>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
</head>
<body>
</head>
<body>
	<script>
		var w = 5, s = w, arr=[], i=[];
		while (w--) {
			document.body.insertAdjacentHTML('beforeend', '<span class="prev">[«< prev]</span><span class="next">[next »>]</span><br><input type="text"><br>');
			arr.push([]); 
			i.push(0);
		}
		var inp=document.querySelectorAll('input'), prev = document.querySelectorAll('.prev'), next = document.querySelectorAll('.next');
		while (s--) {
			inp[s].addEventListener('input',haOne(s),false);
			prev[s].addEventListener('click',haWho(s),false);
			next[s].addEventListener('click',haThr(s),false);
		}
		function haOne(s){
			return function (e) {
				arr[s].push(this.value);
				i[s]=arr[s].length-1;
			};
		}
		function haWho(s){
			return function (e) {
				if (i[s] <= arr[s].length && i[s]) i[s]--;
				inp[s].value=arr[s][i[s]];
			};
		}
		function haThr(s){
			return function (e) {
				if (i[s] < arr[s].length-1 && i[s]>=0) i[s]++;
				inp[s].value=arr[s][i[s]];
			};
		}
	</script>
</body>
</html>
</body>
</html>

Последний раз редактировалось j0hnik, 27.07.2017 в 15:37.
Ответить с цитированием
  #4 (permalink)  
Старый 27.07.2017, 16:04
Аспирант
Отправить личное сообщение для prog77 Посмотреть профиль Найти все сообщения от prog77
 
Регистрация: 05.07.2017
Сообщений: 57

j0hnik,
спасибо буду разбираться))
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как для нескольких элементов с одним id присвоить style rfhnjirf Элементы интерфейса 3 19.05.2017 10:41
фильтр для 60ти полей таблицы skrudjmakdak Элементы интерфейса 3 12.06.2014 10:03
Как заполнить значения для скрытых полей из <input type=”text”> ? Surlik jQuery 2 13.11.2012 00:43
Как реализовать? Fliand Элементы интерфейса 4 22.08.2009 19:47
Динамические создание полей ввода и заполнение их данными vitasya Events/DOM/Window 2 29.03.2009 23:51