JQeury form插件的ajaxForm方法和ajaxSubmit方法的区别
博客专区 > 大_于 的博客 > 博客详情
JQeury form插件的ajaxForm方法和ajaxSubmit方法的区别
大_于 发表于3年前
JQeury form插件的ajaxForm方法和ajaxSubmit方法的区别
  • 发表于 3年前
  • 阅读 3737
  • 收藏 4
  • 点赞 1
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

摘要: JQuery form ajaxForm ajaxSubmit 必须要有submit元素
/**
 * ajaxForm() provides a mechanism for fully automating form submission.
 *
 * The advantages of using this method instead of ajaxSubmit() are:
 *
 * 1: This method will include coordinates for <input type="image" /> elements (if the element
 *    is used to submit the form).
 * 2. This method will include the submit element's name/value data (for the element that was
 *    used to submit the form).
 * 3. This method binds the submit() method to the form for you.
 *
 * The options argument for ajaxForm works exactly as it does for ajaxSubmit.  ajaxForm merely
 * passes the options argument along after properly binding events for submit elements and
 * the form itself.
 */
$.fn.ajaxForm = function(options) {
    options = options || {};
    options.delegation = options.delegation && $.isFunction($.fn.on);

    // in jQuery 1.3+ we can fix mistakes with the ready state
    if (!options.delegation && this.length === 0) {
        var o = { s: this.selector, c: this.context };
        if (!$.isReady && o.s) {
            log('DOM not ready, queuing ajaxForm');
            $(function() {
                $(o.s,o.c).ajaxForm(options);
            });
            return this;
        }
        // is your DOM ready?  http://docs.jquery.com/Tutorials:Introducing_$(document).ready()
        log('terminating; zero elements found by selector' + ($.isReady ? '' : ' (DOM not ready)'));
        return this;
    }

    if ( options.delegation ) {
        $(document)
            .off('submit.form-plugin', this.selector, doAjaxSubmit)
            .off('click.form-plugin', this.selector, captureSubmittingElement)
            .on('submit.form-plugin', this.selector, options, doAjaxSubmit)
            .on('click.form-plugin', this.selector, options, captureSubmittingElement);
        return this;
    }

    return this.ajaxFormUnbind()
        .bind('submit.form-plugin', options, doAjaxSubmit)
        .bind('click.form-plugin', options, captureSubmittingElement);
};

    上面摘录的代码,是JQuery fom插件中ajaxFom这个方法的源代码。

    下载地址为:http://plugins.jquery.com/form/

    ajaxForm注释的含义,大致强调这点意思:

        用ajaxform,要么form表单中包含可以submit的元素,要么方法在注册submit事件中调用。也就是说,用ajaxForm必须要有触发submit的方法,否则无法提交form。

    相比而言,ajaxSubmit这个方法将直接触发form的submit提交。


共有 人打赏支持
粉丝 3
博文 29
码字总数 9838
×
大_于
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: