xutongle 2017-03-03 18:04:10 3870次浏览 0条评论 1 2 0
jQuery(document).on('beforeSubmit', function (event) {
    var $form = jQuery(event.target),
        data = $form.data('yiiActiveForm');

    var $button = data.submitObject,
        extData = '&' + data.settings.ajaxParam + '=' + $form.attr('id');
    if ($button && $button.length && $button.attr('name')) {
        extData += '&' + $button.attr('name') + '=' + $button.attr('value');
    }

    jQuery.ajax({
        url: $form.attr('action'),
        type: $form.attr('method'),
        data: $form.serialize() + extData,
        dataType: data.settings.ajaxDataType,
    });
    return false;
});

表单也提交了,正常处理,但是如果你开了ajax验证,你需要对代码针对性的处理下区分ajax验证和提交。
此办法不用每次做表单的时候都写乱七八糟的JS,这个js直接监听全局表单提交,自动转化成AJAX。

这里有个 https://github.com/rails/jquery-ujs/ ruby的插件很好,有JS牛人欢迎移植啊。

觉得很赞
    没有找到数据。
您需要登录后才可以评论。登录 | 立即注册