Javascript - 在Onsubmit上调用两个函数

时间:2014-10-30 10:47:02

标签: javascript html5 onsubmit

我有两个功能;一个验证表单,另一个执行一些代码,如果第一个函数返回true

<form name="calculator" method="POST" onsubmit="return checkForm(); result(trueOrFalse);" onreset="clearForm()">

checkForm()函数定义如下:

function checkForm() {
    var valid = true;
    var radios1 = document.getElementsByName("item");
    var radios2 = document.getElementsByName("postage");

    if (document.getElementById("constituency").value == 0) {
        document.getElementById("constituency").style.border = "1px solid #a60f28";
        document.getElementById("constituency").style.borderRadius = "2.5px";
        document.getElementById("conWarning").style.display = "block";
        valid = false;
    }

    //similar code as above for other fields

    trueOrFalse = valid;
    return valid;
}

result(valid)函数定义为:

function result(valid) { //use trueOrFalse as parameter
    if (valid == true) {
        document.getElementById("result").style.display = "none";
        document.getElementById("result").innerHTML = "Yay"; //test display value
        document.getElementById("result").style.display = "inline";
    }
    else {
        document.getElementById("result").style.display = "none";
        document.getElementById("result").innerHTML = "0";
        document.getElementById("result").style.display = "inline";
    }

    return valid;
}

这里的目标是首先检查用户填写的表格是否有效;如果是,则生成一个值,以便在HTML中向用户显示如下:

<div id="pound">&#163; <div id="result">0</div></div>

我不确定我调用我的两个函数的方式是正确的还是合法的,或者是否正确,result(valid)函数显示的值是否已正确写入。该表格应该充当计算器。

1 个答案:

答案 0 :(得分:3)

而不是:

trueOrFalse = valid;
return valid;

试试这个:

return result(valid);

然后从result(trueOrFalse);中删除onsubmit