WebOrbiton
v3.0.0.2

FlatlyPage

34 lines · 1015 B
  1. document.addEventListener('submit', function(e) {
  2. const emailInput = e.target.querySelector('input[name="email"]');
  3. if (emailInput) {
  4. e.preventDefault();
  5. const form = e.target;
  6. const btn = form.querySelector('button');
  7. const params = new URLSearchParams();
  8. params.append('email', emailInput.value);
  9. btn.disabled = true;
  10. btn.innerText = 'PROCESSING...';
  11. fetch(form.action, {
  12. method: 'POST',
  13. body: params,
  14. headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
  15. })
  16. .then(r => r.json())
  17. .then(data => {
  18. alert(data.message);
  19. if(data.success) emailInput.value = '';
  20. })
  21. .catch(err => {
  22. console.error(err);
  23. alert('Error, server unreachable.');
  24. })
  25. .finally(() => {
  26. btn.disabled = false;
  27. btn.innerText = 'Subscribe';
  28. });
  29. }
  30. });