我有两个功能;一个验证表单,另一个执行一些代码,如果第一个函数返回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">£ <div id="result">0</div></div>
我不确定我调用我的两个函数的方式是正确的还是合法的,或者是否正确,result(valid)
函数显示的值是否已正确写入。该表格应该充当计算器。
答案 0 :(得分:3)
而不是:
trueOrFalse = valid;
return valid;
试试这个:
return result(valid);
然后从result(trueOrFalse);
中删除onsubmit
。