Код: Выделить всё
Submit
let webToLeadFormElement = document.getElementById('web-to-lead-form');
let webToLeadFormIsSubmitted = false;
webToLeadFormElement.addEventListener('submit', event => {
event.preventDefault();
if (webToLeadFormIsSubmitted) {
return;
}
webToLeadFormIsSubmitted = true;
webToLeadFormElement.submit.setAttribute('disabled', 'disabled');
let payloadData = {
firstName: webToLeadFormElement.firstName.value || null,
lastName: webToLeadFormElement.lastName.value || null,
emailAddress: webToLeadFormElement.emailAddress.value || null,
};
// A needed URL can be found on the Lead Capture detail view.
let url = 'https://URL_OF_YOUR_CRM/api/v1/LeadCapture/API_KEY';
let xhr = new XMLHttpRequest();
xhr.open('POST', url, true);
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.setRequestHeader('Accept', 'application/json');
xhr.onreadystatechange = () => {
if (this.readyState == XMLHttpRequest.DONE && this.status == 200) {
let containerElement = document.getElementById('web-to-lead-form-container');
containerElement.innerHTML = 'Sent';
}
};
xhr.onerror = () => {
webToLeadFormElement.submit.removeAttribute('disabled');
webToLeadFormIsSubmitted = false;
};
xhr.send(JSON.stringify(payloadData));
});
Подробнее здесь: https://stackoverflow.com/questions/757 ... ipt-to-api