Estoy tratando de hacer que mi página web se redirija a una página de agradecimiento después de que un usuario envíe mi formulario de registro.
A continuación se muestra el detector de eventos de javascript que he estado tratando de usar pero que no funciona. Cualquier ayuda será apreciada.
window.addEventListener("load", function() { const form = document.getElementById('submitForm'); form.addEventListener("submit", function(e) { e.preventDefault(); const data = new FormData(form); const action = e.target.action; fetch(action, { method: 'POST', body: data, }) .then(() => { alert("https://www.google.com/"); }) }); }); <div class='testbox'> <form action='https://script.google.com/macros/s/AKfycbyg4V7O2BTMG_u1QVROTCVhZlDo2viq3e2bcqjQ9X6ZBOCyBoQrkyJGK1Zw_gtFp6dw/exec' method='POST' enctype="multipart/form-data"> <div class='name-item'> <input name='Surname' placeholder='Surname' required='' type='text'/> <input name='First Name' placeholder='First Name' required='' type='text'/> <input name='Middle Name' placeholder='Middle Name' required='' type='text'/> </div> <div class='question'> <center><p>Privacy Policy<span class='required'>*</span></p></center> <div class='question-answer checkbox-item'> <div> <center><label class='check' for='check_1'><span>By submitting this form you agree to the terms of service <a href='https://www.google.com/p/privacy-policy.html' target="_blank">privacy policy.</a></span></label></center> </div> </div> </div> <div class='btn-block'> <center> <button href='/' type='submit' id="submitForm">Submit</button></center> </div> </form> </div>const form = document.getElementById('submitForm');<form action='...' method='POST' enctype="multipart/form-data">
Su elemento <form> no tiene una id , por lo que no puede usar getElementById para hacer referencia a él.
O necesita agregar una id a su formulario:
<form action='...' method='POST' enctype="multipart/form-data" id="submitForm"> o use querySelector para hacer referencia a él:
const form = document.querySelector("form"); NB: si tiene varios elementos <form> en su página, querySelector solo devolverá el primero.