JavaScript: wie kann man Submit mit Enter verbieten?

27 Jun 2009 um 12:49 - JavaScript

Bevor man die Daten aus dem Formular schickt, prüft man meistens die Daten mit JavaScript. Die Validierung mit JavaScript löst sehr viele Probleme - korrekte Adresse und Email, die Länge des Textes usw.

JavaScript-Fubktion wird mit dem Event "OnBlur" aktiviert. OnBlur (auf Deutsch "beim Verlassen") wird angeregt, wenn ein Element zuvor aktiviert war und der Anwender es jetzt verlässt. Klingt gut, aber in der Praxis habe ich bemerkt, dass die Validierung nicht immer ausgeführt wird. Man kann Enter drücken, wenn das Element noch aktiv ist. (Vielleicht liegt es an IE6-7, wo ich das getestet habe)

Deshalb verbiete ich Submit mit Enter. Der Code für das Bearbeiten von Enter-Submit:

document.onkeydown = function() {
 return enterStop(event)
};
function enterStop(e) {
  if (!e) {
    if( window.event ) {     //Internet Explorer
      e = window.event;
    } else {
      return;
    }
  }
  if (typeof(e.keyCode)=='number') { //DOM
      e = e.keyCode;
  } else if(typeof(e.which)=='number') {  //NS 4 compatible
      e = e.which;
  } else if(typeof(e.charCode) == 'number') { //also NS 6+, Mozilla 0.9+
      e = e.charCode;
  } else {
    //total failure, we have no way of obtaining the key code
    return;
  }
  if(e==13) { //13 - Code für Enter-Button
   alert('Submit mit Enter ist verboten!');
   return false;
  } else return true;
}
Kommentare

Bisland keine Kommentare - sei der erste!


© 2008 Anton Pavlushko - Webentwicklung, Internetmarketing und Suchmaschinenoptimierung (SEO)

0.0050759315490723 sec