我继承了以下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'总是把我带到表单的顶部。
答案 0 :(得分:4)
该函数用于处理submit
元素的form
事件。
submitHandler: function(form) {
点击发送按钮后,发送值应变为正在发送... :
$("#send").attr("value", "Sending...");
函数ajaxSubmit
将没有页面刷新的表单提交到另一个URL。
$(form).ajaxSubmit({
提交后,将调用此函数。其中responseText
是从服务器返回的文本。 statusText
是HTTP状态代码。 xhr
是使用的XMLHttpRequest
对象。 $form
是已处理的form
元素。
success: function(responseText, statusText, xhr, $form) {
现在,提交后,您将以动画方式向上滑动form
。
$(form).slideUp("slow");
您正在填充#response
div,即向用户显示信息的位置,方便地向下滑动。
$("#response").html(responseText).hide().slideDown("slow");
}
});
您正在从正常的HTTP提交中停止表单。
return false;
}
答案 1 :(得分: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;
}