В моем приложении есть функция, в рамках которой пользователь выбирает ключевые слова, и эти ключевые слова отображаются в текстовом поле после их выбора. Если страница перезагрузится, я хочу, чтобы ключевые слова остались, и в то же время, когда пользователь выберет больше ключевых слов, они будут отображаться вместе с исходными ключевыми словами.
Я проверил и попробовал этот ответ Добавьте данные к объекту localStorage , но я получаю сообщение об ошибке "keylocal.push is not function".
if(localStorage.getItem('keywords') == null){
$('.words').on('click', function(e){
e.preventDefault();
keywords.push( $(this).data('word-name') );
document.getElementById('display').value = keywords
localStorage.setItem('keywords', keywords)
return keywords
console.log(keywords)
});
}
else{
var keylocal = localStorage.getItem('keywords')
document.getElementById('display').value = keylocal
$('.words').on('click', function(e){
keylocal.push( $(this).data('word-name') );
localStorage.setItem('keywords', keylocal)
var keyresult = localStorage.getItem('keywords')
console.log(keyresult)
document.getElementById('display').value = localStorage.getItem('keyresult')
return keywords
});
}
Я ожидаю, что смогу отобразить предыдущие выбранные ключевые слова и новые ключевые слова через onclick. Тем не менее, он либо отображает только новые ключевые слова, либо я получаю .push не является ошибкой функции