Ich möchte, dass ein HTML-Formular nach dem Absenden nichts mehr tut.
action=""
ist nicht gut, da dadurch die Seite neu geladen wird.
Grundsätzlich möchte ich, dass eine Ajax-Funktion aufgerufen wird, wenn eine Taste gedrückt wird oder jemand Enternach der Eingabe der Daten drückt . Ja, ich könnte das Formular-Tag löschen und hinzufügen, indem ich einfach die Funktion aus dem Onclick-Ereignis der Schaltfläche aufrufe, aber ich möchte auch die Funktion "Enter drücken", ohne hacken zu müssen.
Antworten:
Indem Sie
return false;
den JavaScript-Code verwenden, den Sie über die Schaltfläche "Senden" aufrufen, können Sie das Senden des Formulars verhindern.Grundsätzlich benötigen Sie folgenden HTML-Code:
<form onsubmit="myFunction(); return false;"> <input type="submit" value="Submit"> </form>
Dann der unterstützende JavaScript-Code:
<script language="javascript"><!-- function myFunction() { // Do stuff } //--></script>
Wenn Sie möchten, können Sie auch bestimmte Bedingungen festlegen, unter denen das Skript das Formular senden 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>
quelle
function
Schlüsselwort:function myFunction() { }
<form id="my_form" onsubmit="return false;">
reicht ...
quelle
Es funktioniert auch:
<form id='my_form' action="javascript:myFunction(); return false;">
quelle
Uncaught SyntaxError: Illegal return statement
.Wie wäre es mit
<form id="my_form" onsubmit="the_ajax_call_function(); return false;"> ...... </form>
quelle
Sie können den folgenden HTML-Code verwenden
<form onSubmit="myFunction(); return false;"> <input type="submit" value="Submit"> </form>
quelle
<form onsubmit="return false;">
quelle
Geben Sie als Teil des Onclick-Ereignisses der Schaltfläche false zurück, wodurch das Senden 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.
quelle
Verwenden Sie jQuery . Vielleicht setzen Sie ein Div um Ihre Elemente aus dem Formular. Verwenden Sie dann PreventDefault () und führen Sie Ihre Ajax-Aufrufe durch.
quelle
Verwenden:
<form action='javascript:functionWithAjax("search");'> <input class="keyword" id="keyword" name="keyword" placeholder="input your keywords" type="search"> <i class="iconfont icon-icon" onclick="functionWithAjax("search");"></i> </form> <script type="text/javascript"> function functionWithAjax(type) { // Ajax action return false; } </script>
quelle