-3

我继承了以下 jQuery 代码片段作为 jquery/AJAX 验证系统的一部分。我只需要有人用注释逐行解释代码,这样我就可以理解如何更改脚本的一些操作:

// Use Ajax to send everything to form processing file
submitHandler: function(form) {
    $("#send").attr("value", "Sending...");
    $(form).ajaxSubmit({
        success: function(responseText, statusText, xhr, $form) {
            $(form).slideUp("slow");
        $("#response").html(responseText).hide().slideDown("slow");
        }
    });
    return false;
}

具体来说,这些行重新“成功”。. . ' 我特别感兴趣,因为我可以看到 $(form).slideUp("slow") 导致表单缓慢向上滑动(有点明显,不是吗?)。'slideUP' 操作不会将我带到表单的顶部,但总是在表单中间的某个位置。如果我对 jQuery 有更好的理解,我可能会想出如何让“slideUp”始终将我带到表单的顶部。

4

2 回答 2

4

该函数用于处理元素的submit事件。form

submitHandler: function(form) {

单击发送按钮后,值Send应变为Sending...

    $("#send").attr("value", "Sending...");

该函数ajaxSubmit在不刷新页面的情况下将表单提交到另一个 URL。

    $(form).ajaxSubmit({

提交后,调用此函数。其中responseText是从服务器返回的文本。statusText是 HTTP 状态码。xhrXMLHttpRequest使用的对象。$formform被处理的元素。

        success: function(responseText, statusText, xhr, $form) {

现在,提交后,您正在form以动画方式向上滑动。

            $(form).slideUp("slow");

您正在填充#responsediv,这是您向用户显示信息的地方,通过平滑向下滑动。

        $("#response").html(responseText).hide().slideDown("slow");
        }
    });

您正在从正常的 HTTP 提交中停止表单。

    return false;
}
于 2012-09-05T19:32:17.883 回答
1

我的叙述笔记开始于//#

// Use Ajax to send everything to form processing file

//# Create a function called 'submitHandler'
submitHandler: function(form) {

    //# Set a form field saying the form is being sent.
    $("#send").attr("value", "Sending...");

    //# Using the form, sumit its value using jQuery's ajaaax
    $(form).ajaxSubmit({

        //# Should the result be successful, call this function
        success: function(responseText, statusText, xhr, $form) {
            //# Slide the form into view (I believe)
            $(form).slideUp("slow");
            //# This puts the return value of the AJAX caall into #response
            $("#response").html(responseText).hide().slideDown("slow");
        }
    });

    //# I'm pretty sure that under jQuery this will stop the default action,
    //# which would be a regular form submit.
    return false;
}
于 2012-09-05T19:31:56.970 回答