【问题标题】:.ajaxform not working inside the validation submitHandler?.ajaxform 在验证 submitHandler 中不起作用?
【发布时间】:2012-09-05 02:17:05
【问题描述】:

我使用 jquery 验证插件在提交前验证表单 在 submitHandler 我使用 ajax 请求用 ajax 发布表单 在我使用 .ajax 发送请求之前,但现在表单有图像并且很难 通过正常的ajax请求序列化文件元素,因此我使用了这个插件 http://www.malsup.com/jquery/form/

现在使用插件后,ajax 请求无法正常工作,不知道为什么 这是第一个使用普通 ajax 调用的示例

$(document).ready(function(){
    $("#categoryForm").validate({
    submitHandler: function() {
            $.ajax({
                type:'POST', 
                url: 'actions/add-category.php', 
                data: $("#categoryForm").serialize(), 
                success: function(response) {
                     $('#status').html(response);
                    }
                });

        return false;
    }
    });
});

使用插件后的这个

$(document).ready(function(){
        $("#categoryForm").validate({
        submitHandler: function() {
                $('#categoryForm').ajaxForm(function() {
                alert('the form was successfully processed');
            });

            return false;
        }
        });
    });

第二个不工作

【问题讨论】:

    标签: ajax jquery jquery-plugins


    【解决方案1】:

    尝试反转函数:

    jQuery('#form_id').ajaxForm({
        beforeSubmit: function() {
            jQuery("#form_id").validate({
                rules: {
                    first_name: "required",
                    last_name: "required"
                },
                messages: {
                    first_name: "Required",
                    last_name: "Required"
                }
            });
            return jQuery('#form_id').valid();
        },
        success: function(resp) {
            jQuery('#resp').html(resp).fadeIn('fast');
        }
    });
    

    #resp 是接收从您的#form_id 发布的文件生成的 HTML 的 ID

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-05
      • 1970-01-01
      • 2013-07-19
      • 1970-01-01
      相关资源
      最近更新 更多