88 Stimmen

Wie wird ein Formular abgeschickt, wenn die Eingabetaste gedrückt wird?

Kann mir jemand sagen, wie ich ein HTML-Formular abschicken kann, wenn die Return-Taste gedrückt wird und keine Schaltflächen im Formular vorhanden sind? Die Schaltfläche "Senden" ist nicht vorhanden . Ich verwende stattdessen ein benutzerdefiniertes Div.

9voto

Hawk Punkte 521

Ich glaube, das ist es, was Sie wollen.

//<![CDATA[

//Send form if they hit enter.
document.onkeypress = enter;
function enter(e) {
  if (e.which == 13) { sendform(); }
}

//Form to send
function sendform() {
  document.forms[0].submit();
}
//]]>

Jedes Mal, wenn eine Taste gedrückt wird, wird die Funktion enter() aufgerufen. Wenn die gedrückte Taste mit der Eingabetaste (13) übereinstimmt, wird die Funktion sendform() aufgerufen und das erste gefundene Formular wird gesendet. Dies gilt nur für Firefox und andere standardkonforme Browser.

Wenn Sie diesen Code nützlich finden, stimmen Sie bitte für mich!

6voto

Bill the Lizard Punkte 384619

Verwenden Sie das folgende Skript.

<SCRIPT TYPE="text/javascript">
<!--
    function submitenter(myfield,e)
    {
        var keycode;
        if (window.event) keycode = window.event.keyCode;
        else if (e) keycode = e.which;
        else return true;

        if (keycode == 13)
        {
            myfield.form.submit();
            return false;
        }
        else
            return true;
    }
//-->
</SCRIPT>

Für jedes Feld, das das Formular abschicken soll, wenn der Benutzer die Eingabetaste drückt, rufen Sie die Funktion submitenter wie folgt auf.

<FORM ACTION="../cgi-bin/formaction.pl">
    name:     <INPUT NAME=realname SIZE=15><BR>
    password: <INPUT NAME=password TYPE=PASSWORD SIZE=10
       onKeyPress="return submitenter(this,event)"><BR>
<INPUT TYPE=SUBMIT VALUE="Submit">
</FORM>

2voto

Niente Punkte 29

Ich verwende diese Methode:

<form name='test' method=post action='sendme.php'>
    <input type=text name='test1'>
    <input type=button value='send' onClick='document.test.submit()'>
    <input type=image src='spacer.gif'>  <!-- <<<< this is the secret! -->
</form>

Im Grunde genommen, Ich füge einfach eine unsichtbare Eingabe vom Typ Bild hinzu (wobei " spacer.gif " ist ein transparentes 1x1-Gif).

Auf diese Weise kann ich dieses Formular entweder mit der Schaltfläche "Senden" oder einfach durch Drücken der Eingabetaste auf der Tastatur.

Das ist der Trick!

0voto

Ross Punkte 44536

Warum wenden Sie nicht einfach die div submit Stile auf eine submit Schaltfläche an? Ich bin sicher, es gibt ein Javascript für diese, aber das wäre einfacher.

0voto

Corin Blaikie Punkte 17149

Wenn Sie asp.net verwenden, können Sie die defaultButton Attribut auf dem Formular.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X