0

私はそのコードを持っています:

jQuery(document).ready(function () {
    // binds form submission and fields to the validation engine
    jQuery("#form1").validationEngine();
});

jQuery(function () {
    jQuery(".button").click(function () {

        var rx1 = jQuery("input#p_scnt").val();
        var name = jQuery("input#name").val();
        var phone = jQuery("input#phone").val();
        var email = jQuery("input#email").val();
        var rx1 = jQuery("input#p_scnt").val();
        var rx2 = jQuery("input#p_scnt_2").val();
        var rx3 = jQuery("input#p_scnt_3").val();
        var rx4 = jQuery("input#p_scnt_4").val();
        var rx5 = jQuery("input#p_scnt_5").val();
        var rx6 = jQuery("input#p_scnt_6").val();
        var rx7 = jQuery("input#p_scnt_7").val();
        var rx8 = jQuery("input#p_scnt_8").val();
        var rx9 = jQuery("input#p_scnt_9").val();
        var rx10 = jQuery("input#p_scnt_10").val();
        var rx11 = jQuery("input#p_scnt_11").val();
        var rx12 = jQuery("input#p_scnt_12").val();

        var dataString = 'name=' + name + '&email=' + email + '&phone=' + phone + '&rx1=' + rx1 + '&rx2=' + rx2 + '&rx3=' + rx3 + '&rx4=' + rx4 + '&rx5=' + rx5 + '&rx6=' + rx6 + '&rx7=' + rx7 + '&rx8=' + rx8 + '&rx9=' + rx9 + '&rx10=' + rx10 + '&rx11=' + rx11 + '&rx12=' + rx12;
        //alert (dataString);return false;

        jQuery.ajax({
            type: "POST",
            url: "http://www.page.com/lib/process.php",
            data: dataString,
            success: function () {
                jQuery('#form_content').html("<div id='message'></div>");
                jQuery('#message').html("<h2>Rx Refill Request Submitted!</h2>")
                    .append("<p>Thank you for choosing Our Pharmacy</p>")
                    .hide()
                    .fadeIn(1500, function () {
                    jQuery('#message').append("<img id='checkmark' src='http://www.page.com/images/check.png' />");
                });
            }
        });
        return false;
    });
});

フォームの検証は、フィールド間をジャンプするときに自動的に機能しますが、これらの必須フィールドを空のままにしてそのフォームを送信すると、必須フィールドの検証は行われません。

私が間違えた手がかりはありますか?

4

2 に答える 2

1

問題が見つかりました-それはvalidationEngineプラグイン自体に関連していました(ある種の内部エラー)。バージョン2.2を入手し、コードを次のように書き直しました

        jQuery(document).ready(function() {

        jQuery("#form1").validationEngine('attach', {
          onValidationComplete: function(form, status){
            if (status == false){
                alert("All information must be provided for your refill request to be completed.");
            }
            else {
                var rx1 = jQuery("input#p_scnt").val();
                var name = jQuery("input#name").val();
                var phone = jQuery("input#phone").val();
                var email = jQuery("input#email").val();
                var rx1 = jQuery("input#p_scnt").val();
                var rx2 = jQuery("input#p_scnt_2").val();
                var rx3 = jQuery("input#p_scnt_3").val();
                var rx4 = jQuery("input#p_scnt_4").val();
                var rx5 = jQuery("input#p_scnt_5").val();
                var rx6 = jQuery("input#p_scnt_6").val();
                var rx7 = jQuery("input#p_scnt_7").val();                                
                var rx8 = jQuery("input#p_scnt_8").val();                                
                var rx9 = jQuery("input#p_scnt_9").val();                                
                var rx10 = jQuery("input#p_scnt_10").val();                                
                var rx11 = jQuery("input#p_scnt_11").val();                                
                var rx12 = jQuery("input#p_scnt_12").val();                                                            

                var dataString = 'name='+ name + '&email=' + email + '&phone=' + phone + '&rx1=' + rx1 + '&rx2=' + rx2 + '&rx3=' + rx3 + '&rx4=' + rx4 + '&rx5=' + rx5 + '&rx6=' + rx6 + '&rx7=' + rx7 + '&rx8=' + rx8 + '&rx9=' + rx9 + '&rx10=' + rx10 + '&rx11=' + rx11 + '&rx12=' + rx12;
                //alert (dataString);return false;

                jQuery.ajax({
              type: "POST",
              url: "http://www.page.com/lib/process.php",
              data: dataString,
              success: function() {
                jQuery('#form_content').html("<div id='message'></div>");
                jQuery('#message').html("<h2>Rx Refill Request Submitted!</h2>")
                .append("<p>Thank you for choosing Our Pharmacy.</p>")
                .hide()
                .fadeIn(1500, function() {
                  jQuery('#message').append("<img id='checkmark' src='http://www.page.com/images/check.png' />");
                });
              }
             });
    return false;                   
            }

          } 
        });

そしてファイナルはそれを機能させました。

于 2012-02-23T16:45:41.550 に答える
0

これを試して...

jQuery(function () {
        jQuery(".button").click(function () {
            jQuery("#form1").validationEngine('attach', {
                onValidationComplete: function (form, status) {
                    if (status == true) {
                        var rx1 = jQuery("input#p_scnt").val();
                        var name = jQuery("input#name").val();
                        var phone = jQuery("input#phone").val();
                        var email = jQuery("input#email").val();
                        var rx1 = jQuery("input#p_scnt").val();
                        var rx2 = jQuery("input#p_scnt_2").val();
                        var rx3 = jQuery("input#p_scnt_3").val();
                        var rx4 = jQuery("input#p_scnt_4").val();
                        var rx5 = jQuery("input#p_scnt_5").val();
                        var rx6 = jQuery("input#p_scnt_6").val();
                        var rx7 = jQuery("input#p_scnt_7").val();
                        var rx8 = jQuery("input#p_scnt_8").val();
                        var rx9 = jQuery("input#p_scnt_9").val();
                        var rx10 = jQuery("input#p_scnt_10").val();
                        var rx11 = jQuery("input#p_scnt_11").val();
                        var rx12 = jQuery("input#p_scnt_12").val();

                        var dataString = 'name=' + name + '&email=' + email + '&phone=' + phone + '&rx1=' + rx1 + '&rx2=' + rx2 + '&rx3=' + rx3 + '&rx4=' + rx4 + '&rx5=' + rx5 + '&rx6=' + rx6 + '&rx7=' + rx7 + '&rx8=' + rx8 + '&rx9=' + rx9 + '&rx10=' + rx10 + '&rx11=' + rx11 + '&rx12=' + rx12;
                        //alert (dataString);return false;

                        jQuery.ajax({
                            type: "POST",
                            url: "http://www.page.com/lib/process.php",
                            data: dataString,
                            success: function () {
                                jQuery('#form_content').html("<div id='message'></div>");
                                jQuery('#message').html("<h2>Rx Refill Request Submitted!</h2>")
                                .append("<p>Thank you for choosing Our Pharmacy.</p>")
                                .hide()
                                .fadeIn(1500, function () {
                                    jQuery('#message').append("<img id='checkmark' src='http://www.page.com/images/check.png' />");
                                });
                            }
                        });
                    }
                }
            })
        })
    });

于 2015-12-27T03:55:44.213 に答える