0


フォームを投稿するためにjQueryスクリプトを使用します。
Afert AJAXリクエスト、レスポンスを使用したくありません。

私の問題は、AJAX応答がブラウザによって起動されることです。

私のスクリプト:

$(document).ready(function() {

  $('button[num]').click(function(){
    $.fn.validRef($(this).attr('num'));
  });

  $.fn.validRef = function(refId){

    var R = {}  
    var form = $('#R'+refId+'Form')
    var tab = $('#R'+refId+'Tab')

    $('form input').each(function(index) {
      R[$(this).attr('name')] = $(this).val();
    });
    $('form select').each(function(index) {
      R[$(this).attr('name')] = $(this).val();
    });

    $.ajax({
      type: "POST",
      url: "/events/",
      data: R,
      async: false,
      cache: false,
      error: function() { alert('err'); },
      success: function(data){
        form.hide();
        tab.hide();
      }
    });
  }

});

使ってみましたがreturn falseconsole.log(data)とにかく
トラブルが出ます。

前の2つのコマンドを使用または配置するさまざまな方法を提供することもできます。

最後に、Djangoとリクエスト/ajax自体ではないWebページを使用します。

コンソールから起動すると動作します!しかしonclick、関数で使用する場合はそうではありません。
私はそのように私の関数を宣言します:function validRef(){ ... }

4

1 に答える 1

0

解決済み:

return falseクリックハンドルを追加します。

  ...
  $('button[num]').click(function(){
    $.fn.validRef($(this).attr('num'));
    return false
  });
  ...
于 2012-09-29T05:32:03.043 に答える