codes/Anmeldeformular.html hinzugefügt
This commit is contained in:
parent
3db6420a70
commit
ce74c650d6
1 changed files with 78 additions and 0 deletions
78
codes/Anmeldeformular.html
Normal file
78
codes/Anmeldeformular.html
Normal file
|
|
@ -0,0 +1,78 @@
|
||||||
|
<form method="post"
|
||||||
|
action="https://deinn8n.de/webhook/listmonk/subscribe"
|
||||||
|
class="listmonk-form d2s-newsletter-wide"
|
||||||
|
id="d2s-newsletter"
|
||||||
|
novalidate>
|
||||||
|
<div class="d2s-newsletter-wrap">
|
||||||
|
<h3 class="d2s-newsletter-title">🚀 Donau2Space Wochenschau</h3>
|
||||||
|
<p class="d2s-newsletter-desc">
|
||||||
|
Jeden Sonntag um 18 Uhr erscheint die Donau2Space-Wochenschau – keine Linkliste,
|
||||||
|
sondern eine kleine Geschichte über Fortschritte, Tests und Ideen der Woche.
|
||||||
|
Kurz, ehrlich und ganz ohne Werbung – direkt aus Passau. 🌍
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<!-- Liste(n) für Listmonk / n8n → Array oder UUID -->
|
||||||
|
<input type="hidden" name="lists" value="listmonk-uuid" />
|
||||||
|
|
||||||
|
<!-- Anti-Spam -->
|
||||||
|
<input type="text" name="confirm_email" style="display:none!important" tabindex="-1" autocomplete="off" />
|
||||||
|
<input type="text" name="website" style="position:absolute;left:-9999px;" tabindex="-1" autocomplete="off" />
|
||||||
|
<input type="hidden" name="ts" value="" />
|
||||||
|
|
||||||
|
<div class="d2s-input-row">
|
||||||
|
<input type="email" name="email" required placeholder="E-Mail" class="d2s-input" autocomplete="email" />
|
||||||
|
<input type="text" name="name" placeholder="Name (optional)" class="d2s-input" autocomplete="name" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<label class="d2s-checkbox" for="d2s-consent">
|
||||||
|
<input id="d2s-consent" type="checkbox" name="consent" value="true" required />
|
||||||
|
<span>Newsletter abonnieren & <a href="https://deinedomain.de/datenschutzerklaerung/" target="_blank">Datenschutz gelesen</a> (erforderlich)</span>
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<button type="submit" class="d2s-btn" disabled>📩 Jetzt anmelden</button>
|
||||||
|
|
||||||
|
<!-- Archiv-Hinweis -->
|
||||||
|
<p class="d2s-newsletter-archive-note">
|
||||||
|
📡 Alle bisherigen Wochenrückblicke findest du im
|
||||||
|
<a href="https://donau2space.de/newsletter-archiv/">Newsletter-Archiv</a>.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
(function () {
|
||||||
|
const form = document.getElementById('d2s-newsletter');
|
||||||
|
if (!form) return;
|
||||||
|
|
||||||
|
const btn = form.querySelector('button[type="submit"]');
|
||||||
|
const email = form.querySelector('input[name="email"]');
|
||||||
|
const consent = form.querySelector('#d2s-consent');
|
||||||
|
const ts = form.querySelector('input[name="ts"]');
|
||||||
|
|
||||||
|
// Set timestamp at render
|
||||||
|
ts.value = Math.floor(Date.now() / 1000);
|
||||||
|
|
||||||
|
// Enable button only when valid email + consent
|
||||||
|
const emailRe = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
|
||||||
|
const toggle = () => {
|
||||||
|
const ok = emailRe.test((email.value || '').trim()) && consent.checked;
|
||||||
|
btn.disabled = !ok;
|
||||||
|
};
|
||||||
|
email.addEventListener('input', toggle);
|
||||||
|
consent.addEventListener('change', toggle);
|
||||||
|
toggle();
|
||||||
|
|
||||||
|
// Optional client-side speed check (UX)
|
||||||
|
form.addEventListener('submit', function (e) {
|
||||||
|
const started = parseInt(ts.value || '0', 10);
|
||||||
|
if (!started || (Date.now() / 1000) - started < 3) {
|
||||||
|
e.preventDefault();
|
||||||
|
alert('Bitte 2–3 Sekunden warten und erneut versuchen.');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
// Prevent double submits
|
||||||
|
btn.disabled = true;
|
||||||
|
btn.textContent = '⏳ Wird gesendet…';
|
||||||
|
});
|
||||||
|
})();
|
||||||
|
</script>
|
||||||
Loading…
Reference in a new issue