#javascript #html
#javascript #HTML
Вопрос:
(ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: я новичок в программировании, поэтому мой код, вероятно, не является оптимальным. Если вы знаете лучший способ сделать это, не стесняйтесь оставлять его в комментариях)
Большую часть времени я понятия не имел, что я делаю, но с терпением и с вашей помощью, ребята, я придумал это:
if (window.localStorage) {
// Create the Key/Value
var cNum = localStorage.getItem("currentNumber");
if (localStorage.currentNumber == undefined) {
localStorage.setItem("currentNumber","0");}
// Variables
resetCount.innerHTML = localStorage.currentNumber;
// Functions
function btnR() {
cNum ;
localStorage.currentNumber = cNum;
resetCount.innerHTML = cNum;}}
else { console.log(«Нет»); }
HTML:
<button id="resetButton" onclick="btnR()">Reset</button>
<p id="resetCount">0</p>
Я создавал кнопку, которая каждый раз, когда вы нажимаете на нее, сбрасывает флажки, но я также хотел, чтобы счетчик видел, сколько раз они отдыхали. Проблема заключалась в том, что каждый раз, когда я нажимаю кнопку, счетчик также сбрасывается. Теперь, когда это решено, я могу попытаться применить то же самое для флажков, чтобы они также не сбрасывались при обновлении.
Примечание: мне пришлось указать причину .SetItem
в операторе if, даже если значение было в хранилище, оно возвращало значение к нулю каждый раз, когда я обновлял страницу. Я нашел способ остановить это.
Комментарии:
1.
window.localStorage
или запустить AJAX /fetch
запрос на удаленный сервер.2. Подсказкой для вас было бы использовать localStorage и прослушивать каждое изменение ввода.
Ответ №1:
Вам нужно либо настроить серверную часть для отправки данных и сохранения информации, которую вы хотите сохранить, либо сохранить данные в localStorage.
Просто знайте, что не рекомендуется сохранять конфиденциальную информацию в localStorage (поскольку они могут быть скомпрометированы в результате межсайтовых скриптовых атак).
localStorage.setItem помещает немного данных в localStorage (и остается там, пока вы его не очистите), а localStorage.getData извлекает его.
Это может помочь вам начать работу с localStorage, но вам нужно будет выяснить функцию, чтобы задать цвет для имеющегося у вас элемента.
let boxColour = localStorage.getItem("boxColour");
if (boxColour === null) {
setBoxColour("colour");
} else {
setBoxColour(boxColour);
}
function setBoxColour(colour){ localStorage.setItem("colour");}
/ * Внутри функции вы должны получить элемент и изменить его атрибут стиля или добавить класс для добавления стилей */
Осторожно с этими данными локального хранилища!
Комментарии:
1. Большое вам спасибо, это мне очень помогло. Что касается проблем с данными, в настоящее время я просто создаю страницы из своих собственных файлов без использования подключения к Интернету. Вы знаете, всего одна неделя, возиться с html / css / js. Но опять же, спасибо за вашу помощь!
Ответ №2:
Вы могли бы использовать LocalStorage
. Он сохраняет данные на странице, которые будут использоваться после того, как страница будет обновлена или закрыта и открыта позже.
Вот пример:
(К сожалению, похоже, что это не работает на сайте stackoverflow, но если вы попробуете свой HTML-файл, он будет работать)
var loadFunc = (elem) => {
console.log("Value saved is: " localStorage.getItem("savedValue"));
if(localStorage.getItem("savedValue")){ //checks if value is saved or not
elem.checked = localStorage.getItem("savedValue");
}
}
var clickFunc = (elem) => {
localStorage.setItem("savedValue", elem.checked); //set te value if in localStorage
}
Click the checkbox and the value will be saved.
<input type="checkbox" onload="loadFunc(this)" onclick="clickFunc(this)">