使用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/

10-10 07:38