jQuery - 验证插件提交表单有误

时间:2013-09-09 15:52:23

标签: jquery jquery-validate

我正在使用jQuery验证插件...并尝试使用ajax发布数据。

我发现的问题是,一旦ajax运行,它就会在表单标签中提交默认的“action”。

我拥有的jQuery代码如下,我希望有人可以帮助我。

    <script type="text/javascript">
        jQuery(document).ready(function() {

            var platinumForm = jQuery('#platinum-form');

            platinumForm.validate({
                rules: {
                    fullname: "required",
                    email: {
                        required: true,
                        email: true
                    }
                },
                messages: {
                    fullname: "Please enter your Fullname",
                    email: "Please enter a valid Email Address"
                },
                errorPlacement: function(error, element) {
                    error.appendTo( element.prev() );
                },
                submitHandler: function() {
                    jQuery('#platinum-form').fadeOut();

                    var iName = platinumForm.find('#fullname');

                    var data = 'fullname=' + iName.val();

                    $.ajax({
                        url: "/my-processing-page.php",
                        type: "POST",
                        data: data,
                        dataType: "html",
                        cache: false,
                        success: function(html){
                            console.log(html);
                            if (html.indexOf('Sorry') > -1) {
                                $('#paymentMessage').html(html).fadeIn('slow');
                            } else {
                                $('#form-payment-content').slideUp('slow', function(){
                                    $('#thankyouMessage .message').html(html).parent().fadeIn('slow');

                                });
                            }
                        }

                    });                     

                },
            })              
        });
    </script>

谢谢

1 个答案:

答案 0 :(得分:2)

return false;

之后写下$.ajax
               .......
               $.ajax({
                    url: "/my-processing-page.php",
                    type: "POST",
                    data: data,
                    dataType: "html",
                    cache: false,
                    success: function(html){
                        console.log(html);
                        if (html.indexOf('Sorry') > -1) {
                            $('#paymentMessage').html(html).fadeIn('slow');
                        } else {
                            $('#form-payment-content').slideUp('slow', function(){
                                $('#thankyouMessage .message').html(html).parent().fadeIn('slow');

                            });
                        }
                    }

                });   
                return false;
                ......