在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;
});
答案 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);
}
});