var form = document.querySelector("form") var button = form.querySelector("button") var label_norm = "Submit" var label_sub = "Sending..." var mes_sent = "Message sent, thanks!" var mes_err = "An error occured, please try again later" var url = "https://remote.agconnect.io/api/SendMail" form.addEventListener('submit', function (e) { e.preventDefault() updateButton(button, true) const contact = { name: form["name"].value, email: form["email"].value, message: form["message"].value } fetch(url, { method: 'POST', mode: 'cors', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(contact) }) .then(response => { updateButton(button, false) if (response.status == 200) { alert(mes_sent); } else { alert(mes_err) } }) .catch(error => { updateButton(button, false) alert(mes_err) }) }) function updateButton(but, isLoading) { if (isLoading) { but.innerText = label_sub but.disabled = true } else { but.innerText = label_norm but.disabled = false } }