提交处理程序正在运行,但速度很慢

时间:2015-10-11 01:36:47

标签: javascript php jquery html ajax

大家好我是使用提交处理程序提交我的表单并且它的工作非常慢。请帮我快点。提前致谢 以下是我登录表单的JavaScript代码......

       var handleLoginForm = function () {

       $('.login-form').validate({
        errorElement: 'label', //default input error message container
        errorClass: 'help-inline', // default input error message class
        focusInvalid: false, // do not focus the last invalid input
        rules: {
            username: {
                required: true
            },
            password: {
                required: true
            },
             user_type: {
                required: true
            },
            remember: {
                required: false
            }
        },

        messages: {
            username: {
                required: "Username is required."
            },
            password: {
                required: "Password is required."
            },
              user_type: {
                required: "User Type is Required."
            }
        },

        invalidHandler: function (event, validator) { //display error alert on form submit   
            $('.alert-error', $('.login-form')).show();
        },

        highlight: function (element) { // hightlight error inputs
            $(element)
                .closest('.control-group').addClass('error'); // set error class to the control group
        },
        data: $('#form_modulesadd').serialize(),

        success: function (label) {
            label.closest('.control-group').removeClass('error');
            label.remove();
        },

        errorPlacement: function (error, element) {
            error.addClass('help-small no-left-padding').insertAfter(element.closest('.input-icon'));
        },

           submitHandler: function (form) {
           $( ".login-form input" ).submit();
            window.location.href = "check.php";

        }
    });

当我使用php提交表单时速度很快但我必须使用javascript来提交此表单......

2 个答案:

答案 0 :(得分:0)

提交表单时运行JS:

$(".login-form").submit(function(){
 $('.login-form').validate({
        errorElement: 'label', //default input error message container
        errorClass: 'help-inline', // default input error message class
        focusInvalid: false, // do not focus the last invalid input
        rules: {
            username: {
                required: true
            },
            password: {
                required: true
            },
             user_type: {
                required: true
            },
            remember: {
                required: false
            }
        },

        messages: {
            username: {
                required: "Username is required."
            },
            password: {
                required: "Password is required."
            },
              user_type: {
                required: "User Type is Required."
            }
        },

        invalidHandler: function (event, validator) { //display error alert on form submit   
            $('.alert-error', $('.login-form')).show();
        },

        highlight: function (element) { // hightlight error inputs
            $(element)
                .closest('.control-group').addClass('error'); // set error class to the control group
        },
        data: $('#form_modulesadd').serialize(),

        success: function (label) {
            label.closest('.control-group').removeClass('error');
            label.remove();
        },

        errorPlacement: function (error, element) {
            error.addClass('help-small no-left-padding').insertAfter(element.closest('.input-icon'));
        },

           submitHandler: function (form) {
           $( ".login-form input" ).submit();
            window.location.href = "check.php";

        }
    });
});

这使JS无法运行,直到提交表单为止 更新:

$(".login_form").submit(function(){
  $(this).validate({ ... });
});

不确定这是否有效,但重复的选择器对我来说似乎有些尴尬。

答案 1 :(得分:0)

我通过更改submitHandler的实现解决了同样的问题,如下所示。我只是选择表单选择器的第一个项目[0]。

submitHandler: function (form) {
    $(".login-form input")[0].submit();
    ...
}