簡體   English   中英

Ajax調用后Javascript / Jquery停止工作

[英]Javascript/Jquery stops working after Ajax call

我有一個ajax調用,在頁面上的所有javascript似乎都中斷之后,第一次提交表單時效果很好。 表單不會再使用ajax提交。

這是我的ajax電話:

$('form').submit(function(event) {
   $('input:submit').attr("disabled", true).after('<p class="loading">Searching...</p>');

$.ajax({
  type: "POST",
  url: pathname,
  data: $(this).serialize(),
  success: function(data) {
    $('#container').html("<div id='message'></div>");
    $('#message').append(data).hide().fadeIn(1500);
  },
});
event.preventDefault();
});

我的控制台沒有任何錯誤。 任何想法可能是什么原因造成的?

我解決了問題,主頁內容正在更改。 導致javascript卸載。 所以我需要使用Jquery .on / .live,然后它才能工作。 無論出於什么原因,它在一台服務器上都可以正常工作,而在另一台服務器上卻不能。

提交表格后,刪除已disabled的人。 並取出,通過@JustinRusso提及。

$('form').submit(function(event) {
   $('input:submit').attr("disabled", true).after('<p class="loading">Searching...</p>');

    $.ajax({
      type: "POST",
      url: pathname,
      data: $(this).serialize(),
      success: function(data) {
        $('#container').html("<div id='message'></div>");
        $('#message').append(data).hide().fadeIn(1500);
        $('input:submit').removeAttr("disabled");
      }
    });
    event.preventDefault();
});

用法如下:無需定義event.preventDefault();

$('form').submit(function(event) {
   $('input:submit').attr("disabled", true).after('<p class="loading">Searching...</p>');

    $.ajax({
      type: "POST",
      url: pathname,
      data: $(this).serialize(),
      success: function(data) {
        $('#container').html("<div id='message'></div>");
        $('#message').append(data).hide().fadeIn(1500);
        $('input:submit').removeAttr("disabled");
      },
    });
   return false;
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM