fix: JS syntax error in rarNewsletterSubmit, add visible success confirmation
This commit is contained in:
@@ -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;
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user