Testzugang-Modal: Feld-Layout, Zulassungstext und State-Reset
- Formularfelder im Modal sauber ausgerichtet: Inputs einer Reihe per align-items:end buendig, fragiler min-height-Label-Hack entfernt, optional-Hinweise brechen nicht mehr unschoen um. - Zulassungstext praezisiert: ausschliesslich dienstliche Adressen von Behoerden oder Unternehmen (de + en, Modal-Subline + Meldung). - Datenschutz-Fix: Formular wird beim Oeffnen des Modals zurueckgesetzt (Felder, Erfolgsmeldung, Fehler), damit kein Nutzer die Eingaben eines vorherigen sieht. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Dieser Commit ist enthalten in:
@@ -621,6 +621,7 @@ function mdToHtml(md) {
|
||||
|
||||
/* ==================== CONTACT MODAL ==================== */
|
||||
window.openContactModal = function () {
|
||||
if (typeof window.resetTrialForm === 'function') window.resetTrialForm();
|
||||
document.getElementById('contact-modal').style.display = 'flex';
|
||||
document.body.style.overflow = 'hidden';
|
||||
if (window.umami) umami.track('contact_modal_open');
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
sending: 'Wird gesendet...',
|
||||
send: 'Testzugang anfragen',
|
||||
nameFehlt: 'Bitte geben Sie Ihren Namen an.',
|
||||
freemail: 'Bitte geben Sie Ihre dienstliche E-Mail-Adresse an. Adressen bei Freemail-Anbietern wie Gmail, GMX oder web.de können wir für einen Testzugang nicht berücksichtigen.',
|
||||
freemail: 'Ein Testzugang ist ausschließlich mit einer dienstlichen E-Mail-Adresse einer Behörde oder eines Unternehmens möglich. Adressen bei Freemail-Anbietern wie Gmail, GMX oder web.de können wir nicht berücksichtigen.',
|
||||
invalidMail: 'Diese E-Mail-Adresse sieht nicht vollständig aus. Bitte prüfen Sie Ihre Eingabe.',
|
||||
consent: 'Bitte bestätigen Sie die Datenschutzhinweise, damit wir Ihre Anfrage bearbeiten dürfen.',
|
||||
tooFast: 'Bitte nehmen Sie sich einen Moment für das Formular. Versuchen Sie es gleich noch einmal.',
|
||||
@@ -39,7 +39,7 @@
|
||||
sending: 'Sending...',
|
||||
send: 'Request trial access',
|
||||
nameFehlt: 'Please enter your name.',
|
||||
freemail: 'Please enter your official work email address. Addresses from free providers such as Gmail, GMX or web.de cannot be accepted for trial access.',
|
||||
freemail: 'Trial access requires an official email address from a public authority or a company. Addresses from free providers such as Gmail, GMX or web.de cannot be accepted.',
|
||||
invalidMail: 'This email address looks incomplete. Please check your entry.',
|
||||
consent: 'Please confirm the privacy notice so that we may process your request.',
|
||||
tooFast: 'Please take a moment to fill in the form, then try again.',
|
||||
@@ -134,6 +134,23 @@
|
||||
var mailField = document.getElementById('tf-email');
|
||||
var mailNote = document.getElementById('tf-email-note');
|
||||
|
||||
/* Formular in den Ausgangszustand zuruecksetzen. Wird beim Oeffnen
|
||||
des Modals aufgerufen, damit niemand die Eingaben oder die
|
||||
Erfolgsmeldung eines vorherigen Nutzers sieht. */
|
||||
function resetTrialForm() {
|
||||
form.reset();
|
||||
form.style.display = '';
|
||||
var ok = document.getElementById('tf-success');
|
||||
if (ok) ok.style.display = 'none';
|
||||
var errorBox = document.getElementById('tf-error');
|
||||
if (errorBox) { errorBox.style.display = 'none'; errorBox.textContent = ''; }
|
||||
if (mailNote) { mailNote.textContent = ''; mailNote.className = 'tf-note'; }
|
||||
if (mailField) mailField.removeAttribute('aria-invalid');
|
||||
var btn = form.querySelector('button[type="submit"]');
|
||||
if (btn) { btn.disabled = false; btn.textContent = T.send; }
|
||||
}
|
||||
window.resetTrialForm = resetTrialForm;
|
||||
|
||||
/* Live-Rueckmeldung am E-Mail-Feld */
|
||||
if (mailField && mailNote) {
|
||||
mailField.addEventListener('blur', function () {
|
||||
|
||||
In neuem Issue referenzieren
Einen Benutzer sperren