2014-07-14 72 views
0

使用JSfiddle解釋器時,按鈕和輸入字段出現在「結果」框中,但似乎沒有任何對腳本的響應。我嘗試了其他的解釋器,例如W3School的解釋器,雖然它確實告訴我該函數實際上被調用,但結果似乎只是默認情況,甚至只出現幾分之一秒在整個字段之前按鈕和輸入消失(值得注意的是我輸入的文本沒有出現在段落中,而'fruitT'似乎被忽略了 - 所以很可能在輸入之間傳遞信息時存在問題字段,按鈕和函數)。爲什麼我的Javascript開關盒不工作?

邏輯看起來很直截了當,我看了其他例子 - 但是我是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

不需要使用switch()在1:1轉換時,LookUpTable完美工作:document.getElementById(「this」)。innerHTML = {Oranges:「Oranges是每磅0.59美元。「,蘋果:」蘋果是每磅0.32美元。
「} [fruitT] ||(」對不起,我們不在「+ fruitT +」。
「); – dandavis

回答

1

表單內的按鈕提交表單,因爲它的默認類型是提交,重新加載頁面。
你可能也想通過輸入值的功能,而不僅僅是字符串'fruit'

改變這一行

<button onclick="myFunc('fruit')">Enter</button> 

<button type="button" onclick="myFunc(document.getElementById('fruit').value)">Enter</button> 

FIDDLE

+0

d'oh。也許是時候讓我出去一下了。 – TolkienWASP

0
<button onclick="myFunc('fruit')">Enter</button> 

將字符串「果」給你的函數,那麼這將打擊默認。

<button onclick="myFunc(fruit)">Enter</button> 

如果它存在,會運行帶有變量fruit的函數。