bernhard: formular nicht mit enter senden

hi und hallo,
ich möchte ein formular so gestalten, dass das feld mail überprüft wird, es kommen nämlich zahllose anfrageformulare leer an weil jeder nach dem namen (erstes feld) eingeben enter klickt und dadurch das formular versendet wird.
die problem ist, ich verwende ein cms und kann aus diesem grund kein java script in den head schreiben. weiteres muss es eine .htm seite sein, geht also auch kein php.
es würde also gehen wenn ich die enter taste blockieren könnte, das letzte feld überprüft wird, oder der absendebutton erst erscheint, wenn das feld mail ausgefüllt ist.
das ist das formular:
http://www.salzburger-saalachtal.com/de/Anfrage/Anfrage.htm

ein grosses danke im voraus!!!

bernhard

  1. es würde also gehen wenn ich die enter taste blockieren könnte, das letzte feld überprüft wird, oder der absendebutton erst erscheint, wenn das feld mail ausgefüllt ist.

    es gibt mehrere Möglichkeiten, Dein Ziel zu erreichen:

    1. du kannst zwar in den Head kein JS schreiben (wahrscheinlich könntest Du es aber irgendwo in den body schreiben, aber auch egal),
      aber Du kannst in den form-Tag etwas Javascript einbauen, der abfrägt, ob das email-Feld leer ist mit:

    <form .......  onsubmit="return document.tstest.email.value != ''">

    dann kann ein Formular mit leerem email-feld nicht abgesendet werden, unter der Vorraussetztung, daß auf den Browser des Besuchers javascript aktiviert ist.

    1. Du kannst den Button "entfernen", indem Du in den tag, der den submit-button bildet, einfach: style="visibility:hidden" reinschreibst, dann ist der Button solange unsichtbar, bis jemand die email ausgefüllt hat. Sichtbar wird der Button, indem Du in den input-tag vom emil einfach etwas in der Art reinschreibst:

    onblur="(this.value != '')?document.getElementById('senden').style.visibility='visible':alert('Geben Sie bitte eine Emailadresse an')"

    der Nachteil ist erstens, daß der Button erst dann sichtbar wird, wenn Du das Email-Feld verläßt (onblur), somit ein ENTER auch auf dem letzten Feld kein Absenden bewirkt; der andere Nachteil, daß auch das natürlich nur bei eingschaltetem Javascript und auf Browsern funktioniert, die ein gewisses Alter nicht unterschritten haben, obgleich man das auch noch für den NS 4.x machen könnte, was aber imho Zeitverschwendung sein dürfte...

  2. Hallo,

    die problem ist, ich verwende ein cms und kann aus diesem grund kein java script in den head schreiben. weiteres muss es eine .htm seite sein, geht also auch kein php.

    ist für dich momentan vielleicht nicht gerade hilfreich, aber mich würde doch brennend interessieren, was für ein wachsweiches CMS du da einsetzt, daß solche simpelsten Fomularüberprüfungen nicht schon von Haus aus mitbringt _und_ dir dann noch nicht mal gestattet zusätzlichen Code  einzubauen ?

    Gruß,
    StefanS

    1. Hallo Stefan,

      ist für dich momentan vielleicht nicht gerade hilfreich, aber mich würde doch brennend interessieren, was für ein wachsweiches CMS du da einsetzt, daß solche simpelsten Fomularüberprüfungen nicht schon von Haus aus mitbringt _und_ dir dann noch nicht mal gestattet zusätzlichen Code  einzubauen ?

      im Quelltext von http://www.salzburger-saalachtal.com/de/Anfrage/Anfrage.htm steht:

      <!-- parsed by phpCMS 1.2.0 RC1. Get phpCMS at http://phpcms.de -->

      Ein Release Candidate, was erwartest Du da schon? Weiter finde ich dort:

      <form name="tstest" method="post" action="http://www.salzburger-saalachtal.com/de/Anfrage/allgemeineanfrage.php">

      Wäre doch gelacht, wenn man dort nicht mit header() einen Redirect auf die Formularseite machen könnte. Der Nebeneffekt, dass alle bisherigen Eingaben ebenfalls verschwunden sind und vom Benutzer wieder eingegeben werden müssen,
      ist eine hervorragende erzieherische Maßnahme, die die Akzeptanz des Formulars weiter erhöht. Nur Warmduscher verwenden ein "Affenformular", siehe auch http://php-faq.de/q/q-formular-verarbeitung.html.

      Freundliche Grüsse,

      Vinzenz