我有两个功能;一个验证表单,另一个在第一个函数返回 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)
函数要显示的值是否已写入正确。该表单应该充当计算器。
最佳答案
而不是:
trueOrFalse = valid;
return valid;
试试这个:
return result(valid);
然后从 onsubmit
中删除 result(trueOrFalse);
。
关于Javascript - 在 Onsubmit 时调用两个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26650960/