const siteKey = '6LeNTCAtAAAAAH6WEzEBezYS2LneZaRUbMfJYSu1'; let recaptchaWidgetId = null; function onRecaptchaLoad() { grecaptcha.enterprise.ready(function() { recaptchaWidgetId = grecaptcha.enterprise.render('tokenField', { 'sitekey': siteKey, 'size': 'invisible' }); }); } document.addEventListener('DOMContentLoaded', function() { document.getElementById('form').addEventListener('submit', async function(e) { e.preventDefault(); if (formularioValido()) { try { await generarRecaptcha(); submitForm(); } catch (error) { console.error("Error en reCAPTCHA:", error); } } }); }); function generarRecaptcha() { return new Promise((resolve, reject) => { grecaptcha.enterprise.ready(function() { grecaptcha.enterprise.execute(recaptchaWidgetId, {action: 'submit'}) .then(function(token) { document.getElementById('tokenField').value = token; console.log('Token generado con éxito:', token); resolve(token); }) .catch(function(error) { console.error('Error al generar token:', error); reject(error); }); }); }); }