为什么jquery done()显示成功结果多次而不是一次?

时间:2015-08-09 04:55:31

标签: javascript jquery

我正在用jquery / ajax请求处理我的html表单。它通过jquery'change()'调用。因此,当请求成功时,它会向我显示成功结果

成功更新

好吧,但如果再次要求它显示

成功更新成功更新

它刚刚将上一个成功结果文本添加到新文本中。我想只显示一下。你能告诉我为什么会这样吗?

我的代码:

$("#corp_www_eng, #domestic_www_japaness").change(function(){

var cid =  $("#cid").val();
var corp_www_eng =  $("#corp_www_eng").val();
var domestic_www_japaness =  $("#domestic_www_japaness").val();     


$.ajax({
  url: 'edit_companyinfo.php',
  type: 'POST',
  dataType: 'html',
  data: {
      "cid" : cid,
      "corp_www_eng" : corp_www_eng,
      "domestic_www_japaness" : domestic_www_japaness,          
      },
}).done(function ( data ) {

  $('#result').append(data);
  $('#result').show();
  $('#result').delay(3000).fadeOut('slow');    

});

});

2 个答案:

答案 0 :(得分:0)

我相信这是因为您要将数据附加到#result div。您可以尝试添加

document.getElementById('result').innerHTML = '';

在添加新内容之前,这将清除任何内容的div。

答案 1 :(得分:0)

尝试用.html()代替.append()

$("#result").html(data);