HTMLフォームが送信された後は何もしないようにします。
action=""
それはページをリロードさせるので良くありません。
基本的に、ボタンを押すか、誰かがデータを入力した後に「Enter」を押すたびに呼び出されるajax関数が必要です。はい、フォームタグをドロップして追加するだけでボタンのonclickイベントから関数を呼び出すことができますが、すべてのハックを取得せずに「ヒット入力」機能も必要です。
送信ボタンから呼び出すJavaScriptでreturn false;
を使用することにより、フォームの送信を停止できます。
基本的に、次のHTMLが必要です。
<form onsubmit="myFunction(); return false;">
<input type="submit" value="Submit">
</form>
次に、サポートするjavascript:
<script language="javascript"><!--
function myFunction() {
//do stuff
}
//--></script>
必要に応じて、スクリプトがフォームを送信できるようにする特定の条件を設定することもできます。
<form onSubmit="return myFunction();">
<input type="submit" value="Submit">
</form>
ペアリング:
<script language="JavaScript"><!--
function myFunction() {
//do stuff
if (condition)
return true;
return false;
}
//--></script>
それも機能します:
<form id='my_form' action="javascript:myFunction(); return false;">
<form id="my_form" onsubmit="return false;">
十分です...
どう?
<form id="my_form" onsubmit="the_ajax_call_function(); return false;">
......
</form>
次のHTMLを使用できます
<form onSubmit="myFunction(); return false;">
<input type="submit" value="Submit">
</form>
ボタンのonclickイベントの一部としてfalseを返すと、フォームの送信が停止します。
すなわち:
function doFormStuff() {
// ajax function body here
return false;
}
そして、送信ボタンのクリックでその関数を呼び出すだけです。さまざまな方法があります。