为什么我的代码只显示不正确,即使我有正确的答案?

时间:2014-03-06 03:45:08

标签: javascript forms function math button

我正在制作一个快速程序,只是教自己函数的基础知识,除了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>

1 个答案:

答案 0 :(得分:2)

Input是表单元素的id,你需要获取text元素,所以通过它的id Input访问表单然后输入元素使用它的名称Input.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