禁用UIKIT 3文件上传Ajax请求

时间:2018-12-08 10:47:21

标签: jquery ajax uikit

在UIKIT3中,当使用文件上传组件时,选择并加载文件后,将发生ajax并上传文件,而无需提交任何表单。怎么预防呢?我使用jQuery的形式插件。 这是我的代码:

UIkit.upload('.js-upload', {
    url:$('#new_certificate_form').attr('action'),
    name: 'new_cert_img',
    loadEnd:function () {
        alert('ok');
    },
    completeAll:function () {
        $('#new_cert_file_name').html($(this).val().replace(/C:\\fakepath\\/i, ''));
    }
});

$('#new_certificate_form').submit(function () {
    $(this).ajaxSubmit({
        success: function () {
            UIkit.modal('#new_certificate').hide();
            $('#new_certificate_form').resetForm();
            UIkit.notification('تغییرات با موفقیت انجام شد.', {
                status: 'primary',
                pos: 'bottom-right',
                timeout: 3000
            });
        },
        fail: function () {
            UIkit.notification('خطایی رخ داده! لطفا صفحه را مجددا بارگذاری نموده و دوباره تلاش کنید.', {
                status: 'primary',
                pos: 'bottom-right',
                timeout: 3000
            });
        }
    });
    return false;
});

1 个答案:

答案 0 :(得分:0)

您可以将'method'属性设置为返回false的函数。这将停止进行Ajax请求。

然后您可以从beforeAll事件中获取文件。

    UIkit.upload('.js-upload', {
      multiple: false,
      method: () => {return false;},
      beforeAll: function (el, files) {
        console.log('beforeAll', arguments);
        console.log('el', el);
        console.log('files', files);
      }
    });