使用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>
答案 0 :(得分:1)
表单内的按钮提交表单,因为它的默认类型是提交,重新加载页面。
您可能还希望将输入值传递给函数,而不仅仅是字符串'fruit'
更改此行
<button onclick="myFunc('fruit')">Enter</button>
到
<button type="button" onclick="myFunc(document.getElementById('fruit').value)">Enter</button>
答案 1 :(得分:0)
<button onclick="myFunc('fruit')">Enter</button>
传递字符串&#34; fruit&#34;到你的函数,然后命中默认值。
<button onclick="myFunc(fruit)">Enter</button>
如果存在变量fruit,则运行该函数。