Сохранить и восстановить статус проверки нескольких флажков в расширении Chrome - PullRequest
0 голосов
/ 30 марта 2020

Я могу сохранить и восстановить пользовательский ввод в текстовом поле на основе идентификатора поля - код работает так, как я ожидал, например:

function save_options() {
  var api = document.getElementById('text_field').value;
    chrome.storage.sync.set({
    savedApi: api,
    });
}    
document.getElementById("save").addEventListener("click", save_options);

function restore_options() {  
    chrome.storage.sync.get({"savedApi": ''}, function(items) {
      document.getElementById('text_field').value = items.savedApi;
    });
    }
document.addEventListener('DOMContentLoaded', restore_options);

Теперь я хочу сохранить статус проверки из нескольких флажков. Должен ли я действительно повторить эту конструкцию для каждого флажка? Может ли кто-нибудь указать мне более разумный способ сохранить статус нескольких флажков?

1 Ответ

0 голосов
/ 30 марта 2020

ЕСЛИ эти входные данные находятся на стороне формы, вы можете использовать этот метод для получения всех данных формы

Первый способ (это 2019 год, и есть лучший способ сделать это):

const form = document.querySelector('form'):
const data = new URLSearchParams(new FormData(form).entries());

Второй способ (или, если вам нужен простой объект):

const form = document.querySelector('form');
const data = Object.fromEntries(new FormData(form).entries());
...