4

ajax 呼び出しをトリガーする単純なフォームがありますが、送信ボタンをクリックするとすぐにフォームがリセットされ、すべてのエントリがクリアされます。これを防ぐ方法を知っていますか?フォームがいつクリアされるかを制御したいと思います。コードは以下のとおりです。送信機能を放棄して、ボタンの「クリック」イベントを検出する必要があると思います。

JQuery

$("#Formid").submit(function(){loadAjax();});

HTML

    <form id="Formid" method="put">
       Name<BR/>
       <input type="text" name="name"/><BR/><BR/>
       Node Id<BR/>
       <input type="text" name="node_id"/><BR/><BR/>
       Type<BR/> 
       <input type="text" name="type"/><BR/><BR/>
       Parent<BR/> 
       <input type="text" name="parent_id"/><BR/><BR/>
       Longitude<BR/> 
       <input type="text" name="longitude"/><BR/><BR/>
       Latitude<BR/>
       <input type="text" name="latitude"/><BR/><BR/>           
       Description<BR/>          
       <textarea name="description" rows="5" cols="40">Insert description  here</textarea><BR/><BR/>           
       <input type="submit" value="Add Node"/>

    </form>
4

4 に答える 4

7

preventDefaultイベントオブジェクトのメソッドを使用できます。

$("#Formid").submit(function(event){
   loadAjax();
   event.preventDefault()
})
于 2012-09-19T01:47:04.853 に答える
0

または、event.returnValue = false; を使用できます。

$("#Formid").submit( function(e) {
  loadAjax();
  e.returnValue = false;
});

これは、関数を終了しないことを除いて、「return false;」と同様に機能します。

于 2012-09-19T02:40:36.060 に答える
0

jQuery イベント ハンドラー内でe.preventDefault()またはを使用できます。return false;

$("#Formid").submit(function (e) {
   loadAjax();
   e.preventDefault(); // or return false;
});

e.preventDefault() はデフォルト イベントの発生を防ぎます。e.stopPropagation() はイベントの発生を防ぎ、false を返すことで両方を行います。

于 2012-09-19T01:51:27.737 に答える