2011-08-08 16 views
0
<form action="" name="searchForm" id="searchForm" method="post"> 

ユーザーがEnterキーを押したときにJavascriptを使用して送信するにはどうすればよいですか?アクションのないフォームを提出するEnterキーを押す

編集:だけ(本当に必要ならばjQueryの)JSを使用して、私は<html>を編集することはできませんと仮定し

EDIT2:myFormProcessFunction()

だけキャプチャを受け入れる

をロードされた場合、それはまた素晴らしいものですsubmitは、フォームが正常に入力ボタンを介して送信されたかのように機能します。

document.searchForm.submit = function() 
{ 
    myFormProcessFunction() 

    return false; // prevents default action 
} 

答えて

2

フォームが正常に入力してボタンを経由して提出されたかのようにジャストsubmit機能をキャプチャします。

document.searchForm.submit = function() 
{ 
    //do something 

    return false; // prevents default action 
} 
+0

私は質問を編集しました。あなたはそのコードでそれを考えますか?ユーザがENTERを押すと、 js関数がロードされますか? (この関数はすべての入力値を取得し、ポスト経由で$ .ajaxを送信します。 –

+0

@Toniフォームの要素が現在フォーカスされ、ユーザーがEnterキーを押すと、フォームが送信されます。そのイベントをキャプチャし、あなたのAjax呼び出しのようなことを可能にし、 'action'属性に含まれているURLにフォームを送信するデフォルトアクションを禁止します(空の場合はデフォルトで現在のページになります)。 – Endophage

+0

@トーニイGrigorのソリューションは同様に有効ですが、純粋なjsバージョンとは対照的に、jQueryバージョンです。jQueryバージョンがより堅牢性を提供するケースが多くありますが、私の知る限り、私のバージョンは軽く軽量です。 – Endophage

0
$('#searchForm').submit(function(e) {  
    e.preventDefault(); 
    return false; 
}) 

私はそれがうまくいくと確信している、ことをしてみてください。それはjQueryのplulginを使用しているので、それが含まれていることを確認してください。

+0

)が、それはoposite i必要なの?私は、ポスト経由でフォームを送信する必要があります、ありがとう! –

+0

質問を編集しました.e.preventDefault()の代わりにmyFormProcessFunction()を書くとどうなりますか? –