Javascript.RU

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

Lockal Storage и Chrom
Здравствуйте!
Такой вопрос, сохранение работает в Мозиле, но не работает в Chrom
и в Opere, почему?

что может быть не так?


Cпасибо

<table>
	<tr><th scope="col">Nazwę</th>
	    <th scope="col" >Opis</th>
		<th scope="col">&nbsp;</th>
		</tr>
		
		 <tr>
		
		 <td>
                    <label>
                        <input type="text" name="text" ">
                    </label>
					
                </td>
                <td>
                    <label>
                       <input type="text" name="text" ">
                    </label>
                </td>
				</div>
				 <div class="item_box">
				</tr>
				<tr>
				<td>
		 <label>
                        <input type="text" name="text" ">
                    </label>
					
                </td>
                <td>
                    <label>
                       <input type="text" name="text" ">
                    </label>
                </td>
				</div>
				 <div class="item_box">
		
	</tr>
	<tr>
	<td>
		 <label>
                        <input type="text" name="text" ">
                    </label>
					
                </td>
                <td>
                    <label>
                       <input type="text" name="text" ">
                    </label>
                </td>
				</div>
				 <div class="item_box">
		
	</tr>
	<tr><td>
	 <label>
                        <input type="text" name="text" ">
                    </label>
					
                </td>
                <td>
                    <label>
                       <input type="text" name="text" ">
                    </label>
                </td>
				</div>
				 <div class="item_box">
	</tr>
	<tr>
	<td>
		 <label>
                        <input type="text" name="text" ">
                    </label>
					
                </td>
                <td>
                    <label>
                       <input type="text" name="text" ">
                    </label>
                </td>
				</div>
				 <div class="item_box">
		
	</tr>
	<tr> <td>
	 <label>
                        <input type="text" name="text" ">
                    </label>
					
                </td>
                <td>
                    <label>
                       <input type="text" name="text" ">
                    </label>
                </td>
				</div>
				 <div class="item_box">
		
	</tr>
	<tr>
	<td>
		 <label>
                        <input type="text" name="text" ">
                    </label>
					
                </td>
                <td>
                    <label>
                       <input type="text" name="text" ">
                    </label>
                </td>
				</div>
				 <div class="item_box">
	</tr>
	<tr><td>
	 <label>
                        <input type="text" name="text" ">
                    </label>
					
                </td>
                <td>
                    <label>
                       <input type="text" name="text" ">
                    </label>
                </td>
				</div>
				 <div class="item_box">
	</tr>
	<tr>
	<td>
		 <label>
                        <input type="text" name="text" ">
                    </label>
					
                </td>
                <td>
                    <label>
                       <input type="text" name="text" ">
                    </label>
                </td>
				</div>
				 <div class="item_box">
		
	</tr>
	 <div id="cart_content"></div>
</div>	
</table>
</body>



let div = document.getElementById('div');
div.addEventListener('click', changeValue);
div.addEventListener('blur', changeEnd);

function changeValue(event){
  let target = event.target;
  target.setAttribute('contenteditable', true);
}

function changeEnd(){
  div.removeAttribute('contenteditable');
  console.log(div.innerText)
}


// Получаем данные из LocalStorage
function getCartData(){
	return JSON.parse(localStorage.getItem('cart'));
}
// Записываем данные в LocalStorage
function setCartData(o){
	localStorage.setItem('cart', JSON.stringify(o));
	return false;
	</script>
Ответить с цитированием
  #2 (permalink)  
Старый 02.02.2021, 14:25
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 32,439

Сообщение от Konstantin47
что может быть не так?
проверьте на сервере свой код.
Ответить с цитированием
  #3 (permalink)  
Старый 10.02.2021, 17:39
Аспирант
Отправить личное сообщение для Konstantin47 Посмотреть профиль Найти все сообщения от Konstantin47
 
Регистрация: 12.01.2021
Сообщений: 32

с разрешения, покажу свою логику поиска проблемы:
1. понял я, как посмотреть в браузерах хранилище и ключи, код упростил до только сохранить и вернуть


localStorage.setItem('div',changeValue);

	localStorage.getItem('div ');


Но вопрос

вот происходит у меня событие ( смысл всего, в ячейки таблицы писать текст и чтобы не пропадал). Значения события у меня - changeValue,
но почему не сохраняет значение - я уже перепробовал вообще все названия блоков от input до просто table

По моему мнению - раз все события происходят в главном блоке с id номером - div
(уже думал путаница из-за имени, тоже менял)

- там по клику мышки активируется возможность интерактивной ячейки и происходит событие, то чтобы текущую надпись запомнить - localStorage.setItem('div',changeValue);
но это все снова работает только в Мозиле, или так вообще нельзя делать?
ps я пока сам не понимаю, каким местом, читаю инструкцию - записать, показать вижу, а - что сохраняем, и значение его - а толку - видите
Ответить с цитированием
  #4 (permalink)  
Старый 10.02.2021, 18:48
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 32,439

Konstantin47,
структуру таблицы неплохо бы исправить, выкинуть все div или переместить их в ячейки td.
Ответить с цитированием
  #5 (permalink)  
Старый 10.02.2021, 19:00
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 32,439

Konstantin47,
на всякий случай

Редактирование текста ячеек таблицы с сохранением
Ответить с цитированием
  #6 (permalink)  
Старый 10.02.2021, 19:28
Аспирант
Отправить личное сообщение для Konstantin47 Посмотреть профиль Найти все сообщения от Konstantin47
 
Регистрация: 12.01.2021
Сообщений: 32

Рони, спасибо большое!
Ответить с цитированием
  #7 (permalink)  
Старый 10.02.2021, 19:45
Аспирант
Отправить личное сообщение для Konstantin47 Посмотреть профиль Найти все сообщения от Konstantin47
 
Регистрация: 12.01.2021
Сообщений: 32

<body>

 <table id='div'>


   <tr>
   
   <th scope="col">Nazwę</th>
   <th scope="col" >Opis</th>
   <th scope="col">&nbsp;</th>
		
		
   </tr>
		
   <tr>

     <td>1234</td>

     <td>1234</td>
	 
	 <td>1234</td>

   </tr>

   <tr>

     <td>1234</td>

     <td>1234</td>
	 
	 <td>1234</td>

   </tr>

   <tr>

     <td>1234</td>

     <td>1234</td>
	 
	 <td>1234</td>

   </tr>

 </table>


почти по примеру сделал таблицу

хорошо, а в таком случае - key для сохранения - ячейка или td будет?
мне, чтоб хоть одно точное значение знать

с моим старым кодом, точно также не работает
Ответить с цитированием
  #8 (permalink)  
Старый 10.02.2021, 20:00
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 32,439

Konstantin47,
не понимаю что вы пишите, ни код, ни описание, могу только гадать, что вы хотите сделать.
Ответить с цитированием
  #9 (permalink)  
Старый 10.02.2021, 20:35
Аспирант
Отправить личное сообщение для Konstantin47 Посмотреть профиль Найти все сообщения от Konstantin47
 
Регистрация: 12.01.2021
Сообщений: 32

щас


<body>

 <table id='div'>


   <tr>
   
   <th scope="col">Nazwę</th>
   <th scope="col" >Opis</th>
   <th scope="col">&nbsp;</th>
		
		
   </tr>
		
   <tr>

     <td>1234</td>

     <td>1234</td>
	 
	 <td>1234</td>

   </tr>

   <tr>

     <td>1234</td>

     <td>1234</td>
	 
	 <td>1234</td>

   </tr>

   <tr>

     <td>1234</td>

     <td>1234</td>
	 
	 <td>1234</td>

   </tr>

 </table>
 
</body>

let div = document.getElementById('div');
div.addEventListener('click', changeValue);
div.addEventListener('blur', changeEnd);
  console.log(div);

function changeValue(event){
  let target = event.target;
  target.setAttribute('contenteditable', true);
  
}


function changeEnd(){
  div.removeAttribute('contenteditable');
  console.log(div.innerText)
}


   localStorage.setItem('div',changeValue);
   localStorage.getItem('div');


Если запустить будет, похоже, как у вас - таблица с активными ячейками
Cейчас хочу только, чтоб сохраняло данные LokalStorage в ячейках
(все, что показывал выше работало только в Мазиле)

Последний раз редактировалось Konstantin47, 10.02.2021 в 20:57.
Ответить с цитированием
  #10 (permalink)  
Старый 10.02.2021, 21:03
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 1,923

Вы чего сохранить то пытаетесь?
localStorage.setItem('div',changeValue); - это вы саму функцию туда пытаетесь засунуть. Она конечно как то в строку преобразуется вот в таком виде
"function changeValue(event){
let target = event.target;
target.setAttribute('contenteditable', true);

}"
Но это явно не то, что вам надо.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как отправлять данные Local Storage через форму? Exhaust_ AJAX и COMET 2 04.03.2018 03:33
100% запуск расширения в Chrom? ekad Javascript под браузер 0 28.08.2016 06:17
Не работает CSS меню в IE (в FireFox и Chrom все нормально) bdb2000 Internet Explorer 1 05.04.2016 12:58
Обработка события с Local Storage taobo Events/DOM/Window 6 29.08.2012 14:36
Чего на сервере прикрутить чтобы Opera и Chrom понимали javascript? Casufi Оффтопик 0 08.02.2010 14:33