Fixes in posting2

This commit is contained in:
Antonio de la Rosa 2021-02-22 02:08:33 +01:00
parent d07a2622cc
commit db37319c90

View file

@ -4,7 +4,7 @@
/* Add csrf token */ /* Add csrf token */
/* options: url: url to post, loading: dom id, success: func, pre_callback, separated_data:boolean */ /* options: url: url to post, loading: dom id, success: func, pre_callback, separated_data:boolean, upload: {progressbar: '#progressbar', 'total_loader': '#total_loader', 'status': '#status'} */
$.fn.sendPost = function (options) $.fn.sendPost = function (options)
{ {
@ -25,20 +25,37 @@
var xhr=false; var xhr=false;
if(!options.hasOwnProperty("upload")) { if(options.hasOwnProperty("upload")) {
xhr = $.ajaxSettings.xhr(); xhr=function() {
xhr.upload.onprogress = function (event) { var myXhr = $.ajaxSettings.xhr();
if(myXhr.upload){
if(event.lengthComputable) { var progressbar=options.upload.progressbar;
var total_loader=options.upload.total_loader;
var status=options.upload.status;
$("#loaded_n_total").html("Uploaded "+event.loaded+" bytes of "+event.total); $(total_loader).html('');
$(progressbar).attr('value', 0);
$(status).html('');
myXhr.upload.addEventListener('progress',function (event) {
$(total_loader).html("Uploaded "+event.loaded+" bytes of "+event.total);
var percent = (event.loaded / event.total) * 100; var percent = (event.loaded / event.total) * 100;
$("#progressBar").val(Math.round(percent)); $(progressbar).attr('value', (Math.round(percent)));
$("#status").html(Math.round(percent)+"% uploaded... please wait"); $(status).html(Math.round(percent)+"% uploaded... please wait");
}, false);
myXhr.addEventListener("load", function(event) {
$(status).html("Done!!");
}, false);
}
return myXhr;
} }
};
} }
$(this).on('submit', function (e) { $(this).on('submit', function (e) {
@ -47,19 +64,13 @@
form=this; form=this;
/*if($(this).attr('enctype'))
{*/
if(options.separated_data) if(options.separated_data)
{ {
data[options.separated_data]=new FormData($(this)[0]); data[options.separated_data]=new FormData($(this)[0]);
} }
else else
{ {
data=new FormData($(this)[0]); data=new FormData($(this)[0]);
} }
@ -67,30 +78,6 @@
withCredentials: true withCredentials: true
}; };
/*}
else
{
if(options.separated_data)
{
data[options.separated_data]=$(this).serializeArray();
}
else
{
data=$(this).serializeArray().reduce(function(obj, item) {
obj[item.name] = item.value;
return obj;
}, {});
}
xhrFields={
};
}*/
if(!data.hasOwnProperty("csrf_token")) { if(!data.hasOwnProperty("csrf_token")) {
@ -101,11 +88,8 @@
//Hide form and show the time icon //Hide form and show the time icon
$(this).find('.error').hide(); $(this).find('.error').hide();
//$(this).hide();
$(options.loading).show();
/*$(this).find('input').prop("disabled", true); $(options.loading).show();
$(this).find('select').prop("disabled", true);*/
if(options.hasOwnProperty("pre_callback")) { if(options.hasOwnProperty("pre_callback")) {
@ -115,7 +99,7 @@
//Ajax //Ajax
$.ajax({ ajax_post={
type: "POST", type: "POST",
url: options.url, url: options.url,
data: data, data: data,
@ -128,7 +112,6 @@
$(options.loading).hide(); $(options.loading).hide();
if(data.error) { if(data.error) {
if(!data.hasOwnProperty("error_csrf")) if(!data.hasOwnProperty("error_csrf"))
@ -186,8 +169,6 @@
else else
{ {
// If ok then post successful task. // If ok then post successful task.
if(options.hasOwnProperty("success")) { if(options.hasOwnProperty("success")) {
@ -214,7 +195,17 @@
}, },
dataType: 'json' dataType: 'json'
}); };
//console.log(xhr);
if(xhr!=false) {
ajax_post.xhr=xhr;
}
$.ajax(ajax_post);
return false; return false;