2014-03-06 78 views
-1

我正在製作一個快速程序,只教我自己的函數的基礎知識,除了IF ELSE語句外,其他所有東西都可以使用。它總是顯示錯誤,即使我使用正確的答案。我必須以某種方式使用數字的關鍵值而不是實際的數字?爲什麼我的代碼只顯示不正確,即使我有正確的答案?

<!doctype html> 
<body> 
<center> 
<form Id="Input"> 
<input type="text" name="Input"> 
<input type="button" value="submit" ID="Button"> 
</form> 
<script type="text/javascript"> 
Button.addEventListener("click", Answer); 
var A = Math.floor(Math.random()*11); 
var B = Math.floor(Math.random()*11); 
var C = A +B; 
var Input = document.getElementById('Input'); 
document.write(A + "+" + B + "="); 
function Answer() 
{ 
    if(Input.value == C) 
    { 
     alert("correct!"); 
    } 
    else 
    { 
     alert("incorrect!"); 
    } 
} 

</script> 
</body> 
</html> 
+0

從您的其他問題的延續? http://stackoverflow.com/questions/22213632/how-to-make-an-html-form-start-a-function – Coderchu

+0

種,這是一個不同的問題,但。 – Trevader24135

+1

應該儘量保持它在同一個問題,然後,如果它是關於相同的大塊O代碼 – Coderchu

回答

2

Input是表單元素的ID,您需要使用它的名字那麼Input.Input那麼它的價值來獲取文本元素,所以通過其ID Input然後輸入元素訪問表單

function Answer() { 
    if (Input.Input.value == C) { 
     alert("correct!"); 
    } else { 
     alert("incorrect!"); 
    } 
} 

演示:Fiddle


另一種方式是改變形式的ID和分配ID Input

<form Id="MyForm"> 
    <input type="text" name="Input" id="Input"> 
    <input type="button" value="submit" ID="Button"> 
</form> 

文本字段,然後

function Answer() { 
    if (Input.value == C) { 
     alert("correct!"); 
    } else { 
     alert("incorrect!"); 
    } 
} 

演示:Fiddle

+0

@downvoter我沒有錯過任何東西 –

+0

謝謝!這個工作非常簡單!你能解釋爲什麼這對我有用嗎?它完全解決了它! – Trevader24135

+0

@ user3385983看到上面的描述...當你說'Input.value'時它試圖訪問'form'元素的'value'屬性,這是undefined –

相關問題