【发布时间】:2019-09-26 00:30:17
【问题描述】:
我需要将函数中的 if 语句转换为用于赋值的 switch 语句。该功能需要做的是让用户输入在按下提交按钮时显示为列表项。当输入数等于 5 时,它会说“感谢您的建议。”
我将原始 if 语句作为注释包含在内。
我不知道从哪里开始,所以它的工作方式与 if 语句相同。
<article>
<div id="results">
<ul>
<li id="item1"></li>
<li id="item2"></li>
<li id="item3"></li>
<li id="item4"></li>
<li id="item5"></li>
</ul>
<p id="resultsExpl"></p>
</div>
<form>
<fieldset>
<label for="toolBox" id="placeLabel">
Type the name of a tool, then click Submit:
</label>
<input type="text" id="toolBox" />
</fieldset>
<fieldset>
<button type="button" id="button">Submit</button>
</fieldset>
</form>
</article>
<script>
// global variables
var i=1;
var listItem = "";
// function to add input to list
function processInput()
{
/*
if (i<=5)
{
listItem = "item" + i;
document.getElementById(listItem).innerHTML = document.getElementById("toolBox").value;
document.getElementById("toolBox").value = "";
if (i==5)
{
document.getElementById("resultsExpl").innerHTML = "Thanks for your suggestions.";
}
i++;
}
*/
switch (i) {
case 5:
document.getElementById("resultsExpl").innerHTML = "Thanks for your suggestions.";
break;
case default:
listItem = "item" + i;
document.getElementById(listItem).innerHTML = document.getElementById("toolBox").value;
document.getElementById("toolBox").value = "";
i++;
}
}
// adds backward compatible event listener to Submit button
var submitButton = document.getElementById("button");
if (submitButton.addEventListener) {
submitButton.addEventListener("click", processInput, false);
} else if (submitButton.attachEvent) {
submitButton.attachEvent("onclick", processInput);
}
</script>
【问题讨论】:
-
我寻求指导,而不是答案。无论如何,我能够弄清楚,但案例 5 似乎并没有破裂。第 5 个之后的任何输入都将替换最后一个输入。我会继续搞砸它,但感谢任何帮助。
标签: javascript if-statement switch-statement html-lists