Melitta: Return button zur Absendung sperren

Hallo,

auf unseren Webseiten sind mehrere Formulare. Diese werden auch fleißig von unseren Kunden benutzt.

Nun leider ein wahrscheinlich ganz einfaches Problem, bei welchem mir jedoch keiner bisher weiterhelfen konnte:

Man springt ja von einem Feld zum anderen normal mit TAB - viele tun dies aber mit Return (ENTER). Dabei wird jedesmal das nur teilweise ausgefüllte Formular abgesandt. Wie kann ich das verhindern ?

  1. Hallo,

    Man springt ja von einem Feld zum anderen normal mit TAB - viele tun dies aber mit Return (ENTER). Dabei wird jedesmal das nur teilweise ausgefüllte Formular abgesandt. Wie kann ich das verhindern ?

    Ganz einfach. Indem du das Formular vor dem Absenden auf Vollständigkeit überprüfst. Auf jeden Fall serverseitig, aber auch clientseitig mit JavaScript.

    $xNeTworKx.

    1. Da hat der Mensch Recht und Unrecht zu gleich:
      1. Ja, auf jeden Fall das Formular Server und Clientseitig prüfen, sonst Manipulation bzw. unnötiger Servertraffic

      2. Ich glaube du willst aber einfach nur ein "ich springe zum nächsten Feld"-Return haben und nicht nur ein JS dass dafür sorgt, dass der Benutzer einer Fehlermeldung bekommt Formular unvollständig.
      Probier es mal mit einem Skript wie diesem hier:
      function catchReturnClick(nextitem) {
      if(navigator.appName == "Netscape") {
            if (ereignis) {
               if (ereignis.which==13) {
                  if (DVUSpringeButton) {
                     nextitem.focus();
                  }
               }
            }
         } else {
            if(window.event.keyCode == 13) {
               if (DVUSpringeButton) {
                  nextitem.focus()
               }
            }
         }
      }

      Dann musst du noch folgendes in jedem Text-Feld notieren:
      <input name="feld1" ... onclick="javascript: catchReturnClick(document.formularname.feld2);">
      <input name="feld2" ...>

      Also immer das Sprungziel angeben...