如何在提交表单前检查2个输入字段的计算结果


How to check calculation answer of 2 input fields before submitting form

我有一个2个字段的注册表,包括随机int和答案的结果输入字段有一个Javascript代码来检查提交时字段是否为空我还试图计算两个字段,并将其与结果值

进行比较

HTML:

<form method="post" id="contactForm" enctype="multipart/form-data" name="q_sign">
<input type="text" name="q_name" id="senderName"/>
<input type="text" name="q_mail" id="senderEmail" />
<input name="val1" type="text" disabled id="val1" value="php random value1" readonly="readonly" />
<input name="val2" type="text" disabled id="val2" value="php random value2" readonly="readonly" />
<input type="text" name="total" id="total" />
<input type="submit" id="sendMessage" name="sendMessage" value="Register" onClick="return check_data(this.form)" />

Javascript部分:

function check_data(form) {
var val1 = (document.q_sign.val1.value);
var val2 = (document.q_sign.val2.value);
if(document.q_sign.q_name.value==''){
    alert("please enter your name");
    return false;
}else if(document.q_sign.q_mail.value==''){
    alert("please enter your email");
    return false;
}else if(document.q_sign.total.value!=(val1+val2)){ //Issue is here
    alert("wrong answer");
    return false;
}else{
    return true;
}}
maybe this is your expect below

function check_data(form) {
    var val1 = (document.q_sign.val1.value);
    var val2 = (document.q_sign.val2.value);
    if (document.q_sign.total.value != (eval(val1) + eval(val2))) {
        alert("wrong answer");
        return false;
    } else {
        return true;
    }
    }