最初の送信時にエラーメッセージが表示されます。正しい値のエラー メッセージをクリアするために、すべてのメッセージがクリアされると考えて、これらのラベルのスパンをクリアするループを作成し、エラー チェックを再度実行して、エラー メッセージを再適用しました。
ループで false を返してエラー メッセージを消去しても、ページが更新されるだけです。そして、コードはその時点を過ぎて標準エラーチェックを通過しているようには見えません。
var label = document.getElementsByTagName("label");
var span = document.getElementsByTagName("span");
var spanMatch = false;
//attempting to remove any span tags once it's resubmitted
for (var k=0; k<label.length; k++) {
if (label.childNodes = span[1]) {
label.removeChild.span[1];
spanMatch = true;
}
}
if (spanMatch) {return false;}
var match = false;
//created a single loop so it would check all without return false until all were checked
for (var i=0; i<1; i++) {
if (!loanVal.match(regexOne)) {
wholeError(obj.loanAmt.name);
match = true;
}
if (!interestVal.match(regexTwo)){
floatError(obj.interest.name);
match = true;
}
if (!periodVal.match(regexOne)) {
wholeError(obj.period.name);
match = true;
}
}
if (match) {return false;}
else {alert("Something is right");}
}
問題がどこにあるかを伝えるのに十分なコードであることを願っています。オンラインでこの問題へのリンクがあります: http://russet.wccnet.edu/~sfloyd/inp271/php-js-project/loan-calc/index.php
ありがとう