0


我使用 jQuery 脚本发布表单。
在 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 falseand console.log(data)
但无论如何都会出现问题。

您还可以提供不同的方式来使用或放置前面的 2 个命令。

/ajax最后一件事,我使用 Django 和请求不是本身的网页。

当我从控制台启动它时,它可以工作!但不是当我使用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 回答