Skip to content

Instantly share code, notes, and snippets.

@OlegShchavelev
Last active February 26, 2021 21:20
Show Gist options
  • Save OlegShchavelev/e4ad4d8f0905f94db735696048e138d1 to your computer and use it in GitHub Desktop.
Save OlegShchavelev/e4ad4d8f0905f94db735696048e138d1 to your computer and use it in GitHub Desktop.
mvtForms 2
((window, document, $, mvtForms2Config) => {
var mvtForms2 = mvtForms2 || {};
mvtForms2.callbacks = {
success: (response) => {},
error: (response) => {},
fail: (response) => {},
};
mvtForms2.send = function (obj) {
var target = $('#'+obj.attr('id')+'_result');
var form_id = obj.attr('id');
var formData = new FormData(obj[0]);
$.ajax({
url: mvtForms2Config.actionUrl,
type: 'POST',
data: formData,
dataType: 'json',
cache: false,
processData: false,
contentType: false,
}).done(function(response) {
console.log(response);
})
};
$('.mvtForm2').submit(function(event) {
event.preventDefault();
mvtForms2.send($(this));
});
window.mvtForms2 = mvtForms2;
})(window, document, jQuery, mvtForms2Config);
*/
((window,document,mvtForms2Config) => {
var mvtForms2 = mvtForms2 || {};
mvtForms2.callbacks = {
success: (response) => {},
error: (response) => {},
fail: (response) => {},
};
mvtForms2.send = (obj) => {
const formId = obj.getAttribute('id');
const formTarget = obj.querySelector('#' + formId + '_result');
let formData = new FormData(obj);
formTarget.style.display = 'none';
function sendRequest (method, url, body = null) {
return new Promise((resolve, reject) => {
const xhr = new XMLHttpRequest()
xhr.open(method,url, true);
xhr.responseType = 'json';
xhr.setRequestHeader('Accept', 'application/json, text/javascript, */*; q=0.01');
xhr.onload = () => {
if (xhr.status >= 400) {
reject(xhr.response);
} else {
resolve(xhr.response);
}
}
xhr.onerror = () => {
reject(xhr.response);
}
xhr.send(body);
})
}
sendRequest('POST', mvtForms2Config.actionUrl, formData)
.then((response) => {
console.log(response)
})
.catch(error => console.log(error))
}
document.querySelectorAll('.mvtForm2').forEach(form => {form.addEventListener('submit', (e) => {
e.preventDefault();
mvtForms2.send(form);
})
})
window.mvtForms2 = mvtForms2;
})
(window,document,mvtForms2Config)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment