web-dev-qa-db-ja.com

何もしないためにHTMLフォームを送信したい

HTMLフォームが送信された後は何もしないようにします。

action="" 

それはページをリロードさせるので良くありません。

基本的に、ボタンを押すか、誰かがデータを入力した後に「Enter」を押すたびに呼び出されるajax関数が必要です。はい、フォームタグをドロップして追加するだけでボタンのonclickイベントから関数を呼び出すことができますが、すべてのハックを取得せずに「ヒット入力」機能も必要です。

56
Steven Biggums

送信ボタンから呼び出す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>
77
Jeffrey Blake

それも機能します:

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

十分です...

4
simple

どう?

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

次のHTMLを使用できます

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

ボタンのonclickイベントの一部としてfalseを返すと、フォームの送信が停止します。

すなわち:

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

そして、送信ボタンのクリックでその関数を呼び出すだけです。さまざまな方法があります。

0
Ross