使用JSfiddle解释器时,按钮和输入字段显示在“结果”框中,但是似乎没有对该脚本的任何响应。我尝试了其他解释器,例如W3School的解释器,虽然它确实表明确实在调用该函数,但结果似乎只是默认情况,甚至只是一秒钟的时间在整个字段以及按钮和输入消失之前(值得注意的是,我输入的文本没有出现在该段落中,并且'fruitT'似乎被忽略了-因此很可能在输入之间传递信息存在问题字段,按钮和功能。)
逻辑对我来说似乎很简单,我看了其他示例-但是我是JS的新手,所以我可能忽略了某些语法。希望有人可以帮助我朝正确的方向前进。谢谢!
<!DOCTYPE html>
<html>
<body>
<form action="#">
<input id="fruit">
<button onclick="myFunc('fruit')">Enter</button>
</form>
<p id="here"></p>
<script>
function myFunc(fruitT){
switch (fruitT){
case "Oranges":
document.getElementById("here").innerHTML = ("Oranges are $0.59 a pound.");
break;
case "Apples":
document.getElementById("here").innerHTML = ("Apples are $0.32 a pound.<br>");
break;
default:
document.getElementById("here").innerHTML = ("Sorry, we are out of " + fruitT + ".<br>");
}
}
</script>
</body>
</html>
最佳答案
表单内的一个按钮提交表单,因为它的默认类型是Submit,重新加载页面。
您可能还希望将输入值传递给函数,而不仅仅是字符串'fruit'
改变这条线
<button onclick="myFunc('fruit')">Enter</button>
至
<button type="button" onclick="myFunc(document.getElementById('fruit').value)">Enter</button>
FIDDLE
关于javascript - 为什么我的Javascript Switch Case无法运作?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24745454/