Skip to content

Instantly share code, notes, and snippets.

@sintret
Created April 18, 2018 08:44
Show Gist options
  • Save sintret/602bc7877f8b66317529a407750d174f to your computer and use it in GitHub Desktop.
Save sintret/602bc7877f8b66317529a407750d174f to your computer and use it in GitHub Desktop.
function submitForm(element, elmFiles, callback) {
callback = callback || function () {}
elmFiles = elmFiles || "";
var form = document.getElementById(element);
if (form) {
var url = form.action;
if (!url) {
url = window.location.pathname;
}
var ajaxSetting = {
type: 'POST',
url: url,
cache:false,
success: function (data) {
callback(data);
},
error: function (x, e) {
if (x.status == 0) {
alert("You are offline!!\n Please Check Your Network.", "Error!");
} else if (x.status == 404) {
alert("Requested URL not found.", "Error " + x.status);
} else if (x.status == 500) {
var res = x.responseText;
alert(res);
} else if (e == "parsererror") {
alert("Error.\nParsing JSON Request failed.", "Error!");
} else if (e == "timeout") {
alert("Request Time out.", "Error!");
} else {
alert("Unknow Error.\n" + x.responseText, "Error!");
}
}
}
form.onsubmit = function (ev, data) {
ev.preventDefault();
$(".help-block").remove();
$(".has-error").removeClass("");
if (elmFiles) {
if (elmFiles instanceof Array) {
for (var i = 0; i < elmFiles.length; i++) {
$("#" + elmFiles[i]).remove();
}
} else {
$("#" + elmFiles).remove();
}
var formData = new FormData($('#' + element)[0]);
ajaxSetting.processData=false;
ajaxSetting.contentType=false;
} else {
var formData = $(this).serialize();
}
ajaxSetting.data=formData;
$.ajax(ajaxSetting);
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment