我正在制作一个注册表单应用。有几个时间段可以写自己的名字并提交,在相应时间输入的地方显示自己的名字。
到目前为止,我只能让函数一次做一个名字。有没有办法让它做同样的功能,但对于每个时隙?每个输入字段都有一个对应的 <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))
})
}