Доступ к значению ключа в локальном хранилище по щелчку, не работает, как запланировано - PullRequest
0 голосов
/ 11 октября 2018

Я пытаюсь создать простую доску объявлений с javascript, используя локальное хранилище, пользователь вводит свое имя и текст, и он отображается под формой.

Когда я нажимаю кнопку удаления вместо входа в системутекст его запись «удалить» (текстовое содержимое кнопки) У меня есть переменная с именем text, которая должна содержать текст сообщения, отправленного пользователем, я не могу выяснить, что здесь происходит не так.

**function removeMessage(text){
    console.log(text);
}**


function fetchMessages(){
    let messages=JSON.parse(localStorage.getItem('messages'));
    const messageBoard=document.querySelector('#messageBoard');
    messageBoard.innerHTML="";
    for(let i=0; i<messages.length; i++){
        const name= messages[i].name;
        **const text=messages[i].text;**
        messageBoard.innerHTML+=
        `<div class="all">
            <div class="names">
                <h3>${name}</h3>
            </div>
            <div class="messages">
                <p>${text}</p>
                </div>
            <div class="button">
                **<a onclick="removeMessage(text)" href="#" id="delete">Remove</a>**
            </div>
        </div>`;
    }
}

1 Ответ

0 голосов
/ 11 октября 2018

У вас нет глобальной переменной text, когда вы нажимаете <a onclick="removeMessage(text)" href="#" id="delete">Remove</a>, text ссылается на this.text элемента <a>, который равен Remove.Возможно, вам следует заменить removeMessage(text) на removeMessage(${text}) или использовать какой-то индекс, указывающий на эту запись.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...