0

送信ボタンがクリックされたときにフォームが送信されないようにしたい。すべてのデータをキャプチャする必要がありますが、送信する必要はありません。

私はこれを機能させるために少し苦労しましたが、役に立ちませんでした。以下のすべての方法を試しましたが、何もしませんでした。

function saveDetails(form){
    this.preventDefault();
}

function saveDetails(form){
    $(form).preventDefault();
}

function saveDetails(form){
    form.preventDefault();
}

$(form).serialize();完全に機能する実行することで、データを簡単にキャプチャできます。ただし、上記は送信アクションの停止には機能しません。何か援助はありますか?

4

2 に答える 2

2

で呼び出す必要がありますevent.preventDefault()preventDefaultDOM イベント オブジェクトのメソッドです。たとえば、ハンドラーをsubmitイベントにアタッチする必要があります。そのハンドラーは必要なことをすべて実行する必要がありますが、itt 内でこのメソッドを呼び出す必要があります。

$('form').submit(function(e){
    saveDetails();
    e.preventDefault();
})
于 2012-08-21T14:37:01.747 に答える
1

フォームが送信されたときに実行される関数では、eventjQuery がすべてのイベント コールバックに渡すオブジェクトを渡す必要があります。次に、それを呼び出しますpreventDefault()

function saveDetails(form, evt) {
  evt.preventDefault();
  var data = $(form).serialize();
  // etc
}

$("form").on("submit", function(evt) {
  saveDetails(this, evt);
});

または、少し単純化します。

function saveDetails(form) {
  var data = $(form).serialize();
  // etc
}

$("form").on("submit", function(evt) {
  evt.preventDefault();
  saveDetails(this);
});
于 2012-08-21T14:39:45.240 に答える