it-swarm.com.de

Willst du HTML-Formular einreichen, nichts zu tun

Ich möchte, dass ein HTML-Formular nach dem Absenden nichts mehr tut.

action="" 

ist nicht gut, weil die Seite neu geladen wird.

Grundsätzlich möchte ich, dass eine Ajax-Funktion immer dann aufgerufen wird, wenn eine Taste gedrückt wird oder jemand nach dem Eingeben der Daten die Eingabetaste drückt. Ja, ich könnte das Formular-Tag löschen und hinzufügen, indem ich die Funktion aus dem Onclick-Ereignis des Buttons aufrufe, aber ich möchte auch die "Hitting Enter" -Funktionalität, ohne dass alles hackisch wird.

56
Steven Biggums

Durch die Nutzung return false; In dem Javascript, das Sie über die Schaltfläche "Senden" aufrufen, können Sie das Senden des Formulars stoppen.

Grundsätzlich benötigen Sie folgendes HTML:

<form onsubmit="myFunction(); return false;">
<input type="submit" value="Submit">
</form>

Dann das unterstützende Javascript:

<script language="javascript"><!--
function myFunction() {
    //do stuff
}
//--></script>

Wenn Sie möchten, können Sie auch bestimmte Bedingungen haben, damit das Skript das Formular absenden kann:

<form onSubmit="return myFunction();">
<input type="submit" value="Submit">
</form>

Gepaart mit:

<script language="JavaScript"><!--
function myFunction() {
    //do stuff
    if (condition)
        return true;

    return false;    
}
//--></script>
77
Jeffrey Blake

Es funktioniert auch:

<form id='my_form' action="javascript:myFunction(); return false;">
8
user669677
<form id="my_form" onsubmit="return false;">

reicht ...

4
simple

Wie wäre es mit

<form id="my_form" onsubmit="the_ajax_call_function(); return false;">
 ......
</form>
2
ZX12R

Sie können den folgenden HTML-Code verwenden

<form onSubmit="myFunction(); return false;">
  <input type="submit" value="Submit">
</form>
2
Keyur Shah

Als Teil des Onclick-Ereignisses der Schaltfläche wird false zurückgegeben, wodurch das Absenden des Formulars verhindert wird.

dh:

function doFormStuff() {
    // ajax function body here
    return false;
}

Rufen Sie diese Funktion einfach beim Klicken auf die Schaltfläche "Senden" auf. Es gibt viele verschiedene Möglichkeiten.

0
Ross