首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >提交按钮的jQuery validationEngine和.click()函数

提交按钮的jQuery validationEngine和.click()函数
EN

Stack Overflow用户
提问于 2012-02-23 02:05:24
回答 2查看 4.6K关注 0票数 0

我有这个代码:

代码语言:javascript
复制
jQuery(document).ready(function () {
    // binds form submission and fields to the validation engine
    jQuery("#form1").validationEngine();
});

代码语言:javascript
复制
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;
    });
});

当我在字段之间跳转时,表单验证会自动生效,但当我将那些必填字段留空并提交表单时,它将不会对必填字段进行任何验证。

你知道我哪里做错了吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-24 00:45:42

发现了一个问题--它与validationEngine插件本身有关(某种内部错误)。获得了2.2版,并将代码重写为

代码语言:javascript
复制
        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;                   
            }

          } 
        });

最终让它工作了。

票数 1
EN

Stack Overflow用户

发布于 2015-12-27 11:55:44

试试这个。

代码语言:javascript
复制
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' />");
                                });
                            }
                        });
                    }
                }
            })
        })
    });

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9400427

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档