Felix Riesterer: HTML-Formular nur bei Klick auf button abschicken

Beitrag lesen

Lieber Linuchs,

dort kommt man mit [Enter] ins nächste Feld.

unter Verwendung von JavaScript nehme ich an? Denn der Default-Mechanismus ruft ansonsten den ersten verfügbaren Submit-Button auf und verschickt das Formular. Aber ich kann mich irren.

Wenn Du schon mit JavaScript hantierst, kannst Du am Formular einen Eventhandler registrieren, der auf das submit-Event lauscht, um das Absenden bei Bedarf zu verhindern:

let form; // hier eine Referenz auf Dein <form> ablegen

form.addEventListener("submit", function (event) {
  let element = event.target || event.srcElement,
      ok = false;

  // prüfen, woher das Event kam
  if (element.tagName == "BUTTON" && element.type == "submit") {
    ok = true;
  }

  if (!ok) {
    event.preventDefault();
    event.stopPropagation();
  }

  return ok;
});

Um Verwexlungen zu vermeiden,

Der Duden kann helfen.

Liebe Grüße

Felix Riesterer