У меня есть скрипт в хорошем рабочем состоянии, который проверяет, был ли посетителю назначен код купона, но он хотел добавить функцию, которая получает код купона, который ему был присвоен, и отображает его.Оба полагаются на свойство localStorage .Проблема, с которой я сталкиваюсь, заключается в том, что когда я отображаю сохраненное значение, оно возвращает [object HTMLSpanElement]
вместо значения, которое должно быть назначено.
Практически все, что я нашел по этой проблеме, связано с областью видимости, но я не понимаю, как возникла проблема с областью видимости ... даже пытался сделать переменные глобальными в области видимости, и это не выгляделоделать что-либо.
Вот JS:
if(localStorage.getItem("visited") != "true"){
localStorage.setItem("visited","true");
var codeValue = document.getElementById("code");
localStorage.setItem("code",codeValue);
}
else {
var savedCode = localStorage.getItem("code");
document.getElementById("message").innerHTML = "You've already been assigned coupon code " + savedCode;
}
Вот соответствующий HTML:
<span id="message">Your coupon code is: <span id="code">CODE1234</span></span>
Когда вы вернетесь на страницу после ее посещения, я ожидаю промежутоктекст для отображения You've already been assigned coupon code CODE1234
, но вместо этого он возвращает You've already been assigned coupon code [object HTMLSpanElement]
Обратите внимание, что часть сценария была чем-то, что я создал ранее и запустил в производство, и я в основном использую эту функциональность.Ранее, если getItem("visited") != "true"
возвращало значение false, оно отображало окно с предупреждением и сообщало, что вам уже присвоен код, а затем перенаправляло вас на другую страницу.