私は基本的なフォームバリデーターを作成していますが、誰かが助けてくれれば、何らかの理由でelseステートメントを開始することはありません。
それはばかげたことだと確信していますが、クリックすると条件文が実行され、すべてが失敗するとfalseが返されるという印象を受けます。最初に戻ります。
$('.get-results').click(function(e) {
e.preventDefault();
var get_results = $('.get-results'),
input_h8_val = $('.input_h8_val'),
input_h10_val = $('.input_h10_val'),
input_h12_val = $('.input_h12_val'),
input_h14_val = $('.input_h14_val'),
input_h16_val = $('.input_h16_val'),
input_h20_val = $('.input_h20_val'),
input_h21_val = $('.input_h21_val'),
input_h23_val = $('.input_h23_val');
if (input_h8_val.val() == 0) {
$(input_h8_val).next('.error').show();
} else if (input_h10_val.val() == 0) {
$(input_h10_val).next('.error').show();
} else if (input_h12_val.val() == 0) {
$(input_h12_val).next('.error').show();
} else if (input_h14_val.val() == 0) {
$(input_h14_val).next('.error').show();
} else if (input_h16_val.val() == 0) {
$(input_h16_val).next('.error').show();
} else if (input_h20_val.val() == 0) {
$(input_h20_val).next('.error').show();
} else if (input_h21_val.val() == 0) {
$(input_h21_val).next('.error').show();
} else if (input_h23_val.val() == 0) {
$(input_h23_val).next('.error').show();
}
else {
console.log("worked");
$('#first-wrapper').hide();
$('.predicted').addClass('active');
$('.predicted').addClass('no-left-radius');
$('.orders').addClass('no-right-radius');
$('#second-wrapper').show();
$('#third-wrapper').hide();
do_calculations();
}
});
提供されたコードは私にとっては機能しますが、いくつかの点に注意する必要があります。
1-ユーザーがどこかに「0」を入力すると(デフォルトで「オンラインでの注文の割合は?」の場合のように)、検証は失敗します。
2-直後の兄弟リンクnext()
のみを検索します。そのため、場合によっては、トリガー時にエラーが表示されません。(入力要素の後ろに別のものがある場合)。 span
これを解決する方法:
$(element).parent().find(".error").show();
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加