0

非常に基本的な検証を必要とするオンライン申請書をコーディングしています。それぞれにクラス requiredField を追加して、HTML の必須フィールドを示しました。スクリプトは各必須フィールドを調べ、空の場合は false を返し、エラー ウェルにメッセージを追加します。

問題があります...フィールドが空の場合、スクリプトはエラーメッセージを正しく追加しますが、フィールドが入力されている場合、メッセージの送信を拒否します。「else」条件で「trueを返す」が行われない理由を誰かが理解するのを手伝ってくれますか? どんな助けでも大歓迎です。

ありがとう!

これが私の検証スクリプトです:

<script type="text/javascript">
    jQuery('#contactForm').submit(function(e) {
        jQuery( ".requiredField" ).each(function( index ) {
            if( jQuery(this).val().length == 0 ) {
                jQuery("#formErrors").show();
                jQuery( "#formErrors" ).append( "<p>The <b>" + jQuery(this).attr('placeholder') + "</b> field is required, but was left empty.</p>" );
                jQuery(this).addClass('errorField');
                jQuery(window).scrollTop(0);
                                    return false;
            }
            else{
                return true;
            };
        });
      });
    });
</script>
4

3 に答える 3

0
jQuery('#contactForm').submit(function (e) {
    var returnValue = true;

    jQuery(".requiredField").each(function (index) {
        if (jQuery(this).val().length == 0) {
            jQuery("#formErrors").show();
            jQuery("#formErrors").append("<p>The <b>" + jQuery(this).attr('placeholder') + "</b> field is required, but was left empty.</p>");
            jQuery(this).addClass('errorField');
            jQuery(window).scrollTop(0);

            returnValue = false;
        }
        if (!returnValue) {
            e.preventDefault();
        }
        return returnValue;
    });
});

必須フィールドごとに false を返す代わりに、戻り値を変数に格納します。false の場合e.preventDefault()、フォームが送信されないようにする必要があります。

于 2013-09-12T13:55:57.443 に答える