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) {
|
window.rarNewsletterSubmit = function (e, form) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
var email = form.querySelector('input[type=email]');
|
var emailInput = form.querySelector('input[type=email]');
|
||||||
if (!email || !email.value) return false;
|
if (!emailInput || !emailInput.value) return false;
|
||||||
|
|
||||||
var btn = form.querySelector('button[type=submit]');
|
var btn = form.querySelector('button[type=submit]');
|
||||||
if (btn) {
|
var emailVal = emailInput.value;
|
||||||
btn.textContent = 'Filed. ✓';
|
|
||||||
btn.disabled = true;
|
if (btn) { btn.textContent = 'Filing…'; btn.disabled = true; }
|
||||||
}
|
|
||||||
if (email) {
|
var data = new FormData();
|
||||||
email.value = '';
|
data.append('action', 'rar_subscribe');
|
||||||
email.placeholder = 'You're on the list.';
|
data.append('email', emailVal);
|
||||||
email.disabled = true;
|
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;
|
return false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user