Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/453.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript localStorage第二个参数不使用';不接受输入值_Javascript_Html_String - Fatal编程技术网

Javascript localStorage第二个参数不使用';不接受输入值

Javascript localStorage第二个参数不使用';不接受输入值,javascript,html,string,Javascript,Html,String,我正在使用localStorage存储一些值,但它不适用于我确认为字符串的输入。它适用于硬编码字符串,如“chicken”,但不适用于input.value以下是我的代码: render方法将清除输入值。由于在localStorage中设置值之前调用的是render,因此只会得到一个空值。在调用render之前,将值存储在localStorage中: 函数addItem(){ 菜单。推({ itemName:inputName.value, itemPrice:inputPrice.value

我正在使用localStorage存储一些值,但它不适用于我确认为字符串的输入。它适用于硬编码字符串,如“chicken”,但不适用于input.value以下是我的代码:


render
方法将清除输入值。由于在localStorage中设置值之前调用的是
render
,因此只会得到一个空值。在调用
render
之前,将值存储在localStorage中:

函数addItem(){
菜单。推({
itemName:inputName.value,
itemPrice:inputPrice.value
});
让项目=“鸡肉”
setItem(“itemName”,item);
setItem(“itemPrice”,inputPrice.value);
log(localStorage.getItem(“itemName”);
log(localStorage.getItem(“itemPrice”);
渲染(菜单);
}

您的
渲染
方法将清除您的输入值。由于在localStorage中设置值之前调用的是
render
,因此只会得到一个空值。在调用
render
之前,将值存储在localStorage中:

函数addItem(){
菜单。推({
itemName:inputName.value,
itemPrice:inputPrice.value
});
让项目=“鸡肉”
setItem(“itemName”,item);
setItem(“itemPrice”,inputPrice.value);
log(localStorage.getItem(“itemName”);
log(localStorage.getItem(“itemPrice”);
渲染(菜单);
}

检查inputPrice.value是否为字符串,因为setItem接受字符串值。
尝试使用inputPrice.value.toString()/String(inputPrice.value)

检查inputPrice.value是否为字符串,因为setItem接受字符串值。
尝试使用inputPrice.value.toString()/String(inputPrice.value)

你从控制台.log(inputPrice.value)中得到了什么?@Cully它在菜单数组中存储inputPrice.value很好,但是的,我调用它时得到“”。你从控制台.log(inputPrice.value)得到什么?@Cully它在菜单数组中存储inputPrice.value很好,但是是的,我调用它时得到“”。
let menu = [];

      const menuDiv = document.querySelector("#menu");
      const inputName = document.querySelector("#item-name");
      const inputPrice = document.querySelector("#item-price");

      document.querySelector("#add-btn").addEventListener("click", addItem);
      document.querySelector("#del-btn").addEventListener("click", () => delItem(menu.length - 1));

  function render(items) {
        menuDiv.innerHTML = "";
        [inputName, inputPrice].forEach(input => input.value = "");
        items.forEach((item, index) => menuDiv.append(menuElement(item, index)));
      }

      function menuElement(item, index) {
        const menuText = document.createElement("span");
        menuText.innerText = `${item.itemName}   -   ${item.itemPrice}`;

        const delBtn = document.createElement("button");
        delBtn.innerText = "delete item";
        delBtn.addEventListener("click", () => delItem(index));

        const itemDiv = document.createElement("div");
        [menuText, delBtn].forEach(el => itemDiv.append(el));

        return itemDiv;
      }

 function delItem(index) {
        menu.splice(index, 1);
        render(menu);
      }

  function addItem() {
        menu.push({
          itemName: inputName.value, 
          itemPrice: inputPrice.value
          });
        render(menu);
        let item = "chicken"
        localStorage.setItem("itemName", item);
        localStorage.setItem("itemPrice", inputPrice.value );
        console.log(localStorage.getItem("itemName"));
        console.log(localStorage.getItem("itemPrice"));
      }