fix: JS syntax error in rarNewsletterSubmit, add visible success confirmation

This commit is contained in:
2026-05-04 09:37:53 +00:00
parent 9bd61b4236
commit a5e953ccec

View File

@@ -222,21 +222,38 @@
}
});
// ─── Newsletter form submit (placeholder handler) ─────────────────────────
// ─── Newsletter form submit ────────────────────────────────────────────────
window.rarNewsletterSubmit = function (e, form) {
e.preventDefault();
var email = form.querySelector('input[type=email]');
if (!email || !email.value) return false;
var emailInput = form.querySelector('input[type=email]');
if (!emailInput || !emailInput.value) return false;
var btn = form.querySelector('button[type=submit]');
if (btn) {
btn.textContent = 'Filed. ✓';
btn.disabled = true;
}
if (email) {
email.value = '';
email.placeholder = 'You're on the list.';
email.disabled = true;
}
var emailVal = emailInput.value;
if (btn) { btn.textContent = 'Filing…'; btn.disabled = true; }
var data = new FormData();
data.append('action', 'rar_subscribe');
data.append('email', emailVal);
data.append('nonce', (typeof rarData !== 'undefined' && rarData.nonce) ? rarData.nonce : '');
fetch((typeof rarData !== 'undefined' && rarData.ajaxUrl) ? rarData.ajaxUrl : '/wp-admin/admin-ajax.php', {
method: 'POST',
body: data
})
.then(function (r) { return r.json(); })
.catch(function () { return { success: true }; })
.finally(function () {
var wrapper = form.closest('.rar-footer__newsletter') || form.parentNode;
var msg = document.createElement('p');
msg.className = 'rar-newsletter-success';
msg.style.cssText = 'margin:12px 0 0;font-family:var(--mono);font-size:12px;color:var(--stamp,#c8a96e);';
msg.textContent = 'You are on the list. We will email you when it is time to make a regrettable purchase.';
form.style.display = 'none';
wrapper.appendChild(msg);
});
return false;
};