2011-10-16 2 views
8

ボタンがあります: Javascript:入力形式をハイジャックする方法=クリック動作で送信する方法

私がクリックするたびに、フォームに送信されます。

私はこの動作を乗っ取りたいので、クリックすると代わりにJS関数が呼び出されます。これはどうすればいいですか?私は次のように追加しました:

$('input.submit').live('click', addFood); 

問題はまだフォームに送信されます。

私はHTMLコードを削除したくないし、CSSにもバインドされていて、恐れているのでCSSを変更したくない)=

を、それをめちゃくちゃのそこで質問です:それは形成するために提出していないので、送信ボタンの動作を変更するために行うが、私のJavascript(jQueryの)関数を呼び出す方法

+1

おっと、私はちょうど私がそれ以外の場合は、関数を呼び出し、フォームにそれを提出し、私のaddFoods機能に「falseを返す」必要が実現。問題が解決しました!寝る=) –

+2

Hisoka:あなた自身の質問に答えるのは大丈夫です。 –

答えて

14

対象ではなく、フォーム、ありません?送信ボタン

$("form").submit(function(e) { 

    e.preventDefault(); 
    e.returnValue = false; 

    // do things 
}); 
+3

このソリューションはJquery 1.7で推奨されていません – cromanelli

10

この回答を更新するには:

$("form").live('submit', function(e) { 

e.preventDefault(); 
e.returnValue = false; 

// do things 

});

有する:

$("form").on('submit', function(e) { 

e.preventDefault(); 
e.returnValue = false; 

// do things 

})。

$(セレクタ).live()はJquery 1.7では非推奨で、Jquery 1.9ではフレームワークから削除されました。

Here's documentation

関連する問題