簡體   English   中英

JavaScript檢查以查看總和是否正確

[英]JavaScript checking to see if a sum is correct

我想要javascript檢查,看看用戶是否給出了php生成的兩個隨機數的正確答案。 用戶在提供的文本框中手動輸入數字。

<input id="number1" name="number1" readonly="readonly" class="Add" value="<?php echo rand(1,4) ?>" /> + 
<input id="number2" name="number2" readonly="readonly" class="Add" value="<?php echo rand(5,9) ?>" /> =
<input type="text" name="answer" id="number" class="number" maxlength="2" />
<span id="comment"><div class="Lable">Please give the correct answer to the sum</div></span>

JavaScript的

<script language="JavaScript">

function validate()
{

if (Contact.answer.value == Contact.number1.value + Contact.number2.value)
{
    alert("Wrong answer number")
    return false
}

return true;

}



</script>

我試一試,但我的JavaScript技能幾乎不存在

我假設你在表單的submit事件上調用validate() (即onsubmit="validate()" )。 如果沒有,你需要以某種方式調用該函數。

其次,你的邏輯是錯誤的。 你正在檢查答案是否正確(這是==做了什么),然后在正確時告訴用戶它是不正確的,並且當它沒有時允許它。

改變你的邏輯如下:

function validate()
{
    if((parseInt(Contact.number1.value) + parseInt(Contact.number2.value)) == Contact.answer.value)
    {
        return true;
    }   

    alert("Wrong answer number")
    return false
}

請注意,我們還使用parseInt()來防止JavaScript將值視為字符串,然后將它們與+ literal連接起來。 如果我們不使用parseInt() ,JavaScript會將64解釋為64而不是10

<script language="JavaScript">

function validate()
{
var answer = parseInt(document.getElementById("number1").value,     10)+parseInt(document.getElementById("number2").value, 10);
var v = parseInt(document.getElementById("captcha").value, 10);
if (answer != v)
{
    alert("Wrong answer number")
    return false
}

return true;
}



</script>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM