多个变量的一个函数

时间:2021-04-14 23:02:57

标签: javascript function switch-statement local-storage

我正在制作一个注册表单应用。有几个时间段可以写自己的名字并提交,在相应时间输入的地方显示自己的名字。

到目前为止,我只能让函数一次做一个名字。有没有办法让它做同样的功能,但对于每个时隙?每个输入字段都有一个对应的 <li> ,我希望 input.value 出现在其中。我在这里尝试使用 switch() 无济于事。

任何帮助将不胜感激。 谢谢


function addName(e) {
switch(e) {
case 0:
      scheduleThree.appendChild(document.createTextNode(inputThree.value));
      storeNameInLocalStorage(inputThree.value);
      break;
case 1:
      scheduleThreeTwoFive.appendChild(document.createTextNode(inputThreeTwoFive.value));
      storeNameInLocalStorage(inputThreeTwoFive.value);
      break;
  }
}

作为参考,这是函数运行一次的工作代码。我知道必须有一种方法可以不用为 12 个时隙中的每一个都编写新函数。

function addName(e) {
    if(inputThree.value === '') {
      // alert('Please enter your name');
    } else {
      scheduleThree.appendChild(document.createTextNode(inputThree.value));
      storeNameInLocalStorage(inputThree.value);
    }
  }

  function storeNameInLocalStorage(name) {
    let names;
    if(localStorage.getItem('names') === null){
        names = [];
    } else {
        names = JSON.parse(localStorage.getItem('names'));
    }
    names.push(name);
    localStorage.setItem('names', JSON.stringify(names));
}

function getNames() {
    let names;
    if(localStorage.getItem('names') === null){
        names = [];
    } else {
        names = JSON.parse(localStorage.getItem('names'));
    }

    names.forEach(function(name){
    scheduleThree.appendChild(document.createTextNode(name));
    inputThree.remove();
    inputThreeParent.appendChild(document.createTextNode(name))
    })
}

0 个答案:

没有答案